Memcached学习笔记(四)——repcached高可用方案
repcached:全称 replication cached是由日本人发明的memcached的高可用性技术,简称复制缓冲区技术。
使用场景:它是一个单master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master 宕机, slave侦测到连接断了,它会自动
listen而成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入。
(一)安装相关依赖(编译repcached程序所依赖的包):
[root@localhost memcached-1.2.8-repcached-2.2]# yum install libevent-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: mirrors.yun-idc.com
* base: mirrors.yun-idc.com
* epel: mirrors.yun-idc.com
* extras: mirrors.yun-idc.com
* updates: mirrors.yun-idc.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libevent-devel.i386 0:1.4.13-1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libevent-devel i386 1.4.13-1 base 373 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 373 k
Is this ok [y/N]: y
Downloading Packages:
libevent-devel-1.4.13-1.i386.rpm | 373 kB 00:04
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libevent-devel 1/1
Installed:
libevent-devel.i386 0:1.4.13-1
Complete!
[root@localhost memcached-1.2.8-repcached-2.2]#
(二)下载并安装:memcached-1.2.8-repcached-2.2.tar.gz
[root@localhost ~]# wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
--2013-03-23 13:35:56-- http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://downloads.sourceforge.net/project/repcached/repcached/2.2-1.2.8/memcached-1.2.8-repcached-2.2.tar.gz [following]
--2013-03-23 13:35:57-- http://downloads.sourceforge.net/project/repcached/repcached/2.2-1.2.8/memcached-1.2.8-repcached-2.2.tar.gz
Reusing existing connection to downloads.sourceforge.net:80.
HTTP request sent, awaiting response... 302 Found
Location: http://nchc.dl.sourceforge.net/project/repcached/repcached/2.2-1.2.8/memcached-1.2.8-repcached-2.2.tar.gz [following]
--2013-03-23 13:35:59-- http://nchc.dl.sourceforge.net/project/repcached/repcached/2.2-1.2.8/memcached-1.2.8-repcached-2.2.tar.gz
Resolving nchc.dl.sourceforge.net... 211.79.60.17, 2001:e10:ffff:1f02::17
Connecting to nchc.dl.sourceforge.net|211.79.60.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 227510 (222K) [application/x-gzip]
Saving to: `memcached-1.2.8-repcached-2.2.tar.gz'
100%[======================================>] 227,510 240K/s in 0.9s
2013-03-23 13:36:01 (240 KB/s) - `memcached-1.2.8-repcached-2.2.tar.gz' saved [227510/227510]
[root@localhost ~]# tar zxvf memcached-1.2.8-repcached-2.2.tar.gz
[root@localhost ~]# ./configure --enable-replication --program-transform-name=s/memcached/repcached/
(三)启动repcached (用非root操作):
[hadoop@localhost ~]$ /usr/local/bin/repcached -p 11211 -v -d
replication: listen
[hadoop@localhost ~]$ /usr/local/bin/repcached -p 11212 -x localhost -v -d
replication: connect (peer=127.0.0.1:11212)
replication: marugoto copying
replication: accept
[hadoop@localhost ~]$ replication: start
参数解释:
-d : 后台运行memcached进程
-p : 默认监听端口11211 11212
-x : 监听高可用机器,如果是监听默认端口不用写端口号,localhost就是监听本机
作用:第二个repcached监听第一个repcached如果有问题就接管
(四)复制实验:
先连接11211机器,设置name 值为“zhangsan”
[hadoop@localhost ~]$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
set name 0 0 8
zhangsan
STORED
get name
VALUE name 0 8
zhangsan
END
quit
Connection closed by foreign host.
连接11212机器,读取name值:
[hadoop@localhost ~]$ telnet localhost 11212
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
get name
VALUE name 0 8
zhangsan
END
(五)反向复制实验
连接11211,设置age值为23
[hadoop@localhost ~]$ telnet localhost 11212
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
get name
VALUE name 0 8
zhangsan
END
set age 0 0 2
23
STORED
get age
VALUE age 0 2
23
END
连接11211,读取age值:
[hadoop@localhost ~]$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
get age
VALUE age 0 2
23
END
get name
VALUE name 0 8
zhangsan
END
quit
Connection closed by foreign host.
(六)监控memcached:
[hadoop@localhost ~]$ stats cachedump 1 10
-bash: stats: command not found
[hadoop@localhost ~]$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
stats cachedump 1 10
ITEM name [8 b; 1365421489 s]
ITEM age [2 b; 1365421489 s]
END
stats items
STAT items:1:number 2
STAT items:1:age 119
STAT items:1:evicted 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
END
(7)实验完成,祝您成功!
分享到:
相关推荐
Memcached是一种广泛使用的分布式内存缓存系统,它能够...通过这篇学习笔记,你应该对gwhalin Memcached Java客户端有了初步了解,接下来可以结合实际项目,深入学习和实践,充分发挥Memcached在高并发场景下的优势。
【标题】"memcached-笔记资料"涉及到的核心知识点是分布式内存缓存系统——Memcached,它是一个高性能、轻量级的缓存解决方案,主要用于减轻数据库的负载,提高Web应用的性能。 【描述】"memcached-笔记资料"暗示了...
http://downloads.sourceforge.net/repcached/网站已被GFW 留给需要做memcached集群配置和单点恢复的同学
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
### Memcached学习笔记 #### 一、Memcached简介 Memcached是一种高性能的分布式内存对象缓存系统,主要用于在动态应用程序中减少数据库负载,提高访问速度。最初由Danga Interactive为优化LiveJournal.com网站的...
Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载。它通过在内存中存储数据来加速动态Web应用程序的运行速度。以下是对Memcached的详细解析: 一、Memcached的基本原理 ...
SSM实战项目——Java高并发秒杀API是一个深入学习Java后端开发的重要实践,它涵盖了Spring、SpringMVC和MyBatis三大框架的整合应用,以及如何处理高并发下的秒杀场景。在这个项目中,我们将深入理解如何设计并实现一...
MSM--memcached session manager是一个高可用的Tomcat session共享解决方案,除了可以从本机内存快速读取Session信息(仅针对黏性Session)外,同时可使用memcached存取Session,以实现高可用。对于非黏性Session,...
标题 "memcached-笔记资料.rar" 暗示了这个压缩包包含的是关于 memcached 的学习资料,这是一款广泛使用的分布式内存对象缓存系统。它主要用于减轻数据库的负载,通过在内存中存储常用数据,提高应用程序的响应速度...
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
总结,memcached是高效、轻量级的缓存解决方案,适用于需要快速响应和高并发的Web应用。通过搭建集群和优化策略,可以进一步提升系统的整体性能。学习和掌握memcached有助于提高Web应用的响应速度,降低数据库的压力...
Java全能学习面试手册——Java面试题库.zip 01 7道消息队列ActiveMQ面试题!.pdf 02 10道Java高级必备的Netty面试题!.pdf 03 10道Java面试必备的设计模式面试题!.pdf 04 10个Java经典的List面试题!.pdf 05 10个...
- 分布式:Memcached支持多台服务器集群,数据会自动分布到各个节点,提供高可用性。 - 压缩:可以设置自动压缩数据,减少内存占用。 - 序列化:自动处理非字符串类型数据的序列化和反序列化。 - 键空间通知:通过...
memcached 源码剖析笔记和源码。 Memcached 是一个自由、源码开放、高性能、分布式内存对象缓存系统,目的在于过减轻数据库负载来使动态 Web 应用程序提速。
在构建高性能、高可用性的Web应用系统时,会话保持是一个关键环节,它涉及到用户登录状态、购物车信息等重要数据的持久化处理。本文将详细介绍如何在Nginx、Tomcat7和Memcached的环境下实现会话保持,确保用户在多台...
《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》这本书深入探讨了在互联网行业中如何设计和构建能够处理亿级用户流量的高可用、高并发系统。作者开涛,作为业界资深专家,以其丰富的实战经验,为我们...