当前位置: > Linux集群 > Memcached >

Memcached 集群部署

时间:2016-05-20 20:16来源:linux.it.net.cn 作者:IT

一.Memcached简介

 

      Memcached 是一个高性能的分布式内存对象缓存系统,Memcached的高性能源于两阶段哈希(two-stage hash)结构,Memcached基于一个存储键/值对的HashMap,减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。当内存容量达到指定设定的值时,LRU算法自动删除不使用的缓存。

二.Memcached应用的场景

  (1)Memcached大部分是应用在作为数据库前端缓存,减少了连接数据库次数,间接的减少了操作数据库,提高了访问数据的效率,提高了系统的性能,因为在大型的系统中,并发的频繁的访问相同的业务时,使用Memcached可以大大降低数据库压力,提高了系统的性能。

  (2)当访问量大时缓存数据达到很大时,我们在Memcached在集群上,做很容易做水平上的扩展,因为Memcached服务器端之间是没有通讯的,当内存不够时,可以增加Memcached服务器端的服务器,其中的一台服务器挂了,不会太大的造成数据库的压力。

  (3)系统集群部署,我们需要用户登录信息共享,我们可以使用Memcached进行缓存,这样用户就可以在系统之间进行使用。

 

三.Memcached不适合应用的场景

     (1)缓存的数据量比较小。

     (2)缓存的数据需要持久化。

 

 四.Memcached安装

 

  Memcached在实现分布集群部署时, Memcached服务端的之间是没有通讯的,服务端是伪分布式,实现分布式是由客户端实现的,客户端实现了分布式算法把数据保存到不同的Memcached服务端。

 

 第一步:先安装libevent

 

  Memcached用到了libevent这个库,所以先安装libevent

 (1)http://libevent.org/  下载

 (2)解压安装包

      # tar zxvf libevent-2.0.21-stable.tar.gz

 (3)进入libevent目录

      #cd libevent-2.0.21-stable

 (4)指定安装目录

     # ./configure -prefix=/opt

 

(5)编译和安装

     # make &&make install

(6)测试安装是否成功

   #ls /opt/lib |grep libevent  如图所示:

     

 

第二步:安装Memcached

 

(1)解压安装包

   #tar zxvf memcached-1.4.21.tar.gz

(2)进入libevent目录

   #cd memcached-1.4.21

(3)指定libevent的安装位置

   # ./configure --prefix=/opt  --with-libevent=/opt   如图所示:

    

(4)编译和安装

   # make &&make install

(5)测试安装是否成功

  #ls -al /opt/bin/memcached  如图所示:

  

五.Memcached启动服务

  

(1)我们这边做Memcached集群服务,所以我们启动了两个进程:

   #/opt/bin/memcached -d -m 5 -u root -l 192.168.74.129 -p 12000 -c 256 -P /tmp/memcached.pid

   #/opt/bin/memcached -d -m 5 -u root -l 192.168.74.130 -p 13000 -c 256 -P /tmp/memcached.pid

  -d 以守护程序(daemon)方式运行 memcached。

  -m 设置 memcached 可以使用的内存大小,单位为 M。

  -l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数。

  -p 设置监听的端口,默认为 11211,所以也可以不设置此参数。

  -P是设置保存Memcache的pid文件

  -u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。

  -f 设置增长因子(调优时使用)。

 -v/-vv 详细显示工作时各种参数。

  我们可以通过命令查看参数

  # /opt/bin/memcached -h 如图所示:

   

 

(2)我们现在检查一下是否启动,我们查看线程,如图所示:

   

  这边集群部署完成,后面继续解释实现客户端。

 

 

 

    




(责任编辑:IT)
------分隔线----------------------------