Rumah pangkalan data tutorial mysql Repcached实现Memcached主从复制功能

Repcached实现Memcached主从复制功能

Jun 07, 2016 pm 04:08 PM
memcache memcached sistem caching

Repcached实现Memcached主从复制功能工作原理repcached实现了memcached复制的功能,它是一个单master单slave的方案,但master/slave都是可读写的,而且可以相互

Repcached实现Memcached主从复制功能



工作原理


repcached实现了memcached复制的功能,它是一个单master单slave的方案,但master/slave都是可读写的,而且可以相互同步,如果master坏掉slave侦测到连接断了,它会自动listen而成为master,这时坏掉的master只能启用为slave,它们之间互换角色,才能保持复制功能,换句话说,master没有抢占功能;而如果slave坏掉,master也会侦测到连接断,它就会重新listen等待新的slave加入。

 

应用场景


用memcached做session共享或其它服务时会存在memcached的单点故障,如果memcached宕机,那么整个系统用户无法登陆(session)。

基于这种情况,采用repcached做memcached的主从冗余。

 

Repcached下载地址


 

Repcached安装方式


Repcached有两种安装方式:

    1.补丁版本安装  
    先安装相应版本的memcached,,然后对应版本的Repcached补丁。

    2.整合版本安装  
    直接安装整合版本的memcached

 

方式一:补丁版本安装

1. 安装Memcache,相关安装方法可以参见博文:  

2. 下载对应的repcached版本补丁安装文件:  
假设安装的memcahced版本为1.2.8,下载针对该版本最新的补丁:    

wget      gzip -cd ../repcached-2.2.1-1.2.8.patch.gz | patch -p1     ./configure --enable-replication     make && make install

 

方式二:整合版本安装

1. 安装libevent:  

cd /tmp     wget      tar zxvf libevent-2.0.22-stable.tar.gz     cd libevent-2.0.22-stable     ./configure --prefix=/usr/local/lib     make && make install

2. 将libevent的库文件添加到动态库中:  

vi /etc/ld.so.conf

 
在最后添加如下行:    
/usr/local/lib //此处为要添加的libevent库目录    
重新加载动态lib库    

ldconfig

   
注意:如果无此步骤,在启动memcached时,会提示看不到libevent的库文件。

3. 测试libevent是否安装成功:  

ls -al /usr/lib | grep libevent-

4. 创建启动帐号:  

groupadd memcached     useradd -g memcached memcached

5. 创建PID进程目录并修改所有者:  

mkdir /var/run/memcached     chown -R memcached.memcached /var/run/memcached

6. 安装整合memcached-repcached包:  

cd /tmp     wget      cp memcached-1.2.8-repcached-2.2.1.tar.gz /usr/local     cd /usr/local     tar zxvf memcached-1.2.8-repcached-2.2.1.tar.gz     mv memcached-1.2.8-repcached-2.2.1 memcached     cd memcached     ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/lib --enable-replication --enable-64bit

 
注意:默认memcached单个进程只支持到2G内存,需要更大内存支持的话,需要打开64位支持,编译的时候加参数:    
--enable-64bit

  

make && make install

  
提示编译出错:    

make all-recursive     make[1]: Entering directory `/usr/local/memcached'     Making all in doc     make[2]: Entering directory `/usr/local/memcached/doc'     make[2]: Nothing to be done for `all'.     make[2]: Leaving directory `/usr/local/memcached/doc'     make[2]: Entering directory `/usr/local/memcached'     gcc -DHAVE_CONFIG_H -I. -DNDEBUG -m64 -g -O2 -MT memcached-memcached.o -MD      MP -MF .deps/memcached-memcached.Tpo -c -o memcached-memcached.o `test -f      memcached.c' || echo './'`memcached.c     memcached.c: In function ‘add_iov’:     memcached.c:697: error: ‘IOV_MAX’ undeclared (first use in this function)     memcached.c:697: error: (Each undeclared identifier is reported only once     memcached.c:697: error: for each function it appears in.)     make[2]: *** [memcached-memcached.o] Error 1     make[2]: Leaving directory `/usr/local/memcached'     make[1]: *** [all-recursive] Error 1     make[1]: Leaving directory `/usr/local/memcached'     make: *** [all] Error 2

  
解决方案:    

vi memcached.c
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache dalam pembangunan PHP? Nov 07, 2023 pm 12:49 PM

Bagaimana untuk menggunakan Memcache dalam pembangunan PHP?

Bagaimana untuk mengoptimumkan penggunaan CPU aplikasi PHP menggunakan teknologi caching Memcached? Bagaimana untuk mengoptimumkan penggunaan CPU aplikasi PHP menggunakan teknologi caching Memcached? Jun 21, 2023 pm 05:07 PM

Bagaimana untuk mengoptimumkan penggunaan CPU aplikasi PHP menggunakan teknologi caching Memcached?

Bagaimana untuk menggunakan Memcache untuk operasi membaca dan menulis data yang cekap dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache untuk operasi membaca dan menulis data yang cekap dalam pembangunan PHP? Nov 07, 2023 pm 03:48 PM

Bagaimana untuk menggunakan Memcache untuk operasi membaca dan menulis data yang cekap dalam pembangunan PHP?

Bagaimana untuk menggunakan Memcache untuk mengoptimumkan operasi penyimpanan data dalam aplikasi PHP anda? Bagaimana untuk menggunakan Memcache untuk mengoptimumkan operasi penyimpanan data dalam aplikasi PHP anda? Nov 08, 2023 pm 09:06 PM

Bagaimana untuk menggunakan Memcache untuk mengoptimumkan operasi penyimpanan data dalam aplikasi PHP anda?

Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan pengisihan data yang cekap dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan pengisihan data yang cekap dalam pembangunan PHP? Nov 07, 2023 pm 02:28 PM

Bagaimana untuk menggunakan Memcache untuk mencapai operasi caching dan pengisihan data yang cekap dalam pembangunan PHP?

Bagaimana untuk menggunakan Memcache untuk caching teragih dalam pembangunan PHP? Bagaimana untuk menggunakan Memcache untuk caching teragih dalam pembangunan PHP? Nov 07, 2023 pm 03:04 PM

Bagaimana untuk menggunakan Memcache untuk caching teragih dalam pembangunan PHP?

Membangunkan sistem caching berprestasi tinggi menggunakan bahasa Go Membangunkan sistem caching berprestasi tinggi menggunakan bahasa Go Nov 20, 2023 pm 03:08 PM

Membangunkan sistem caching berprestasi tinggi menggunakan bahasa Go

Gunakan Panel Pagoda untuk menggunakan pelayan cache seperti Redis dan Memcached Gunakan Panel Pagoda untuk menggunakan pelayan cache seperti Redis dan Memcached Jun 21, 2023 am 09:56 AM

Gunakan Panel Pagoda untuk menggunakan pelayan cache seperti Redis dan Memcached

See all articles