Memcached【Magent+Memcached】集群
Memcached介绍
事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介绍,可以参考Dan Kegel的The C10K Problem。
存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
通信分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现!
事件、存储、通信解释摘自百度
Magent+Memcached实现集群
aaarticlea/png;base64,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" alt="" />
如上图所示:
Agent1把数据分别保存在192.168.7.102:11211 和 192.168.7.103:11211分成两份,并且192.168.7.104:11211保留完整的备份
Agent2把数据分别保存在192.168.7.103:11211 和 192.168.7.103:11211分成两份,并且192.168.7.104:11211保留完整的备份
原因:
在写的时候同时写两份保存在Memcached里!可以根据需要自己调整,基本上一个Agent即可,但是为了冗余使用两个Agent是推荐的!
配置:
安装配置
1、安装Memcached (安装memcached在192.168.7.102 192.168.7.103 192.168.7.104 并启动端口11211)
yum -y install memcached #安装软件
/usr/bin/memcached -d -u root -l 192.168.7.102 -m 1024 -p 11211#启动服务
/usr/bin/memcached -d -u root -l 192.168.7.103 -m 1024 -p 11211#启动服务
/usr/bin/memcached -d -u root -l 192.168.7.104 -m 1024 -p 11211#启动服务 #命令解释:
'''
启动Memcache 常用参数
-p <num> 设置TCP端口号(默认不设置为: 11211)
-U <num> UDP监听端口(默认: 11211, 0 时关闭)
-l <ip_addr> 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d 以daemon方式运行
-u <username> 绑定使用指定用于运行进程<username>
-m <num> 允许最大内存用量,单位M (默认: 64 MB)
-P <file> 将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用 '''
2、安装Magent (安装Magent在192.168.7.100 192.168.7.101)
cd /usr/local/
mkdir ./magent
cd ./magent
wget -c http://memagent.googlecode.com/files/magent-0.6.tar.gz
tar xzvf ./magent-0.6.tar.gz
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
cp ./magent /usr/bin/magent #命令详解
'''
-h this message
-u uid
-g gid
-p port, default is 11211. (0 to disable tcp support)
-s ip:port, set memcached server ip and port
-b ip:port, set backup memcached server ip and port
-l ip, local bind ip address, default is 0.0.0.0
-n number, set max connections, default is 4096
-D do not go to background
-k use ketama key allocation algorithm
-f file, unix socket path to listen on. default is off
-i number, max keep alive connections for one memcached server, default is 20
-v verbose
'''
3、启动Magent
#/usr/bin/env python
#-*- coding:utf-8 -*- import memcache mc = memcache.Client(['192.168.7.100:11211'],debug=True)
mc.set('Timluo','',60)
mc.set('Timluo2','',60)
mc.set('Timluo3','',60)
mc.set('Timluo4','',60)
mc.set('Timluo5','',60)
mc.set('Timluo6','',60)
5、可以通过telnet 192.168.7.102 或 192.168.7.103 或 192.168.7.104 上直接get keyname去获取值看看是否可以正常获取是否已经正常存储了!或者安装管理工具Memadmin查看
'''
telnet 192.168.7.102 11211 get Timluo1
VALUE Timluo1 0 1
1
.....
.........
'''
Memadmin
主要功能:
- 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新
- 服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控
- 支持数据遍历,方便对存储内容进行监视
- 支持条件查询,筛选出满足条件的KEY或VALUE
- 数组、JSON等序列化字符反序列显示
- 兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)
- 支持服务器连接池,多服务器管理切换方便简洁
yum -y install httpd
2、安装php的memcache扩展包php-pecl-memcache
yum -y install php-pecl-memcache
3、修改apache配置文件添加php
vim /etc/httpd/conf/httpd.conf
line:420
DirectoryIndex index.html index.html.var index.php #新增index.php
4、下载MemAdmin
git clone https://github.com/junstor/memadmin #如果没有安装git请自行安装
5、启动apache服务
/etc/init.d/httpd start
6、登录WEB MemAdmin
http://192.168.7.101/memadmin #默认密码在config.php中可以自己定义
7、添加管理(图形界面不在解释,请自行添加)
aaarticlea/png;base64,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uQASIisXZ2dn5/zuXUvqy02/j5bhxp/kIC9EnCFLVgJJkpWLk2XlTT8KPsoteQXP794NPlspK5ctznMBJERWLo6sXAG35BWUlZk4Q5asBJKUclb299Z7W4eLvIePIytXwC15BWVlJk5KyUogSbc9K/t76731vX43D6iikJVHD7fvPXlVuJY/61gAABUWSURBVO7Vk3vbmYdHo4uOHm7nyiuX1DZVvGl+zWT7TZsq3lXlUUy/r4aHXdzmlIedqlhZubC3azkrm95j1QunvF3nufkVyMqbEee5ABIiKxedleOP3+pHctZlkxh79eTeONVePbk3tQbL10021nDRqyf32ppxrPnemu7r1ZN7421VImGUm7JywRaflY3vsYYLW96u8978KmTlzYjzXAAJST8r+3vrvUwhMScX9kofw4dbxXXznyprFVb+mGxtna0shmBj1DWUYvG6ltRrXKfx+uvdV/GhljabrXb96ajIOq2Zw63e+l5/8rYrvruKb8b88uwtnl21tbXAt+vVZyvL15TeQmYrOyArgSSlnpX5B+zhVv7P/t564QN2ckVxqudwb7Ju2/TPjWVl22xlw6ZePbm3fe9e8w71h0ezq3LqXTXcV/1h55fKyplGfXg4+an+7i29f7O3+ORNuLC368dkZe09JCs7ICuBJKWelZPP2HyXeO3jNZsjquZm0za61ZqVxT3T9a6bsd+6XqjFHZDj2x093H748OGUwyaHtZvMdV+VGcriZbJypspbc/zmq70J8/dy9ZpAx1aONbxdZWUHZCWQpNSzsjyRM87K8idv4cN8vKexNDN0E6fslE6aqR52OfXjd3rq5VOUxdZs296MqJxjtnJyCs+Mk3+StYCd4LWfawcJ5+/K6jXhsrLx7SUrOyArgSStZlY2z1aWbljYy3gTWZkrXTPP2dTtxzvmVzW2Zs30/d8z7qth57rZypkq78TxW3b6bGXcrGx7u8rKDshKIEkrmJUNx1ZmPxxujS8sr7v0YytzpR2IjR/S9V2MDafsTA5yzFYt3qj1pPB6bs51X+17vGXlTIdbhZny4tu0dmxl4TDhebNyycdWTvlPIFnZAVkJJGkVs3JYPhO8vErtwtF+8YWdCd60u7v+PZMN3yV578mrhvBs2HM+fWvlr7Kc1rBXuq/6BKisnOlwq7e+d9j01QWlM8EbDhiurrawM8EbX/eG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" alt="" />
Memcached【Magent+Memcached】集群的更多相关文章
- memcached+magent的集群部署详细过程
问题描述 Memcached在实现分布集群部署时, Memcached服务端的之间是没有通讯的,服务端是伪分布式,实现分布式是由客户端实现的,客户端实现了分布式算法把数据保存到不同的Memcached ...
- centos7 memcached+magent+keepalived集群
111,222均部署keepalived,magent,memcached keepalived 111为主机,222为备机 其中,111上magent以本地memcache为主,222为备用 222 ...
- Nginx+Tomcat+Memcached负载均衡集群服务搭建
操作系统:CentOS6.5 本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...
- Linux下使用Magent+Memcached缓存服务器集群部署
1.编译安装libevent cd /root/soft_hhf/ wget http://cloud.github.com/downloads/libevent/libevent/libeven ...
- nginx+tomcat+memcached搭建服务器集群及负载均衡
在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求.但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+ngin ...
- 基于Memcached的tomcat集群session共享所用的jar
多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/context.xml添加<Manager className="de.javakaffee.w ...
- 基于Memcached的tomcat集群session共享所用的jar及多个tomcat各种序列化策略配置
原文:http://www.cnblogs.com/interdrp/p/4096466.html 多个tomcat各种序列化策略配置如下:一.java默认序列化tomcat配置conf/contex ...
- Memcached 服务分布式集群如何实现?
特殊说明:Memcached 集群和 web 服务集群是不一样的,所有 Memcached 的数据总和才是数据库的数据.每台 Memcached 都是部分数据.(一台 memcached 的数据,就是 ...
- 使用memcached实现tomcat集群session共享
环境centos6.7,下载安装必要的软件:yum -y install epel-release(tomcat7在此源上,tomcat7是现在主流版本) yum -y install tomcat ...
- Nginx+Tomcat+Memcached实现tomcat集群和session共享
一.Nginx安装 详见前文:http://www.cnblogs.com/yixiwenwen/p/3574097.html 二.memcached安装和启动 详见前文:http://www.cnb ...
随机推荐
- hibernate在使用sql查询query自动转化成model类型数据,query.addEntity
hibernate使用自动的hql查询或者其封装的查询方法都能字段转化成对象 而如果在hibernate中使用sql时大多返回为Object[]对象 那么如何将object[]转换成model呢,答案 ...
- 控件(选择类): Selector, ComboBox
1.Selector(基类) 的示例Controls/SelectionControl/SelectorDemo.xaml <Page x:Class="Windows10.Contr ...
- 小tip:纯CSS让overflow:auto页面滚动条出现时不跳动
本文转载于张鑫旭博客,原文地址:http://www.zhangxinxu.com/wordpress/?p=4552 一.水平居中布局与滚动条跳动的千年难题 当前web届,绝大多数的页面间布局都是水 ...
- VS2015 安装mvc4安装包以及vs2010 sp1后导致Razor语法失效代码不高亮(能正常运行)/视图页面无法智能提示(.cshtml)解决办法
VS2015默认asp.net mvc 版本为5.0以上,默认不支持创建5.0以下的版本.所以想要使用mvc 4.0只能单独安装.在网上搜了几篇教程后在微软官网下载了Visual Studio 201 ...
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)【转载】
最近在学习Spring+SpringMVC+MyBatis的整合.以下是参考网上的资料自己实践操作的详细步骤. 1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于20 ...
- 写出3种遍历一个list的方法,(使用for循环)
for(String s : list){ System.out.print(s+"/t"); } for(int i = 0;i<list.size();i++){ Sys ...
- BZOJ 1103: [POI2007]大都市meg
1103: [POI2007]大都市meg Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2189 Solved: 1160[Submit][Sta ...
- SVN中(trunk tags branches)的使用理解
trunk--主干(永远都是最新的,每发布一个版本会在tags和branches上进行分支) tags-标签(只读,用于存放发布后的文件冻结,以及对应发布后版本的源文件:可以是来自主干或者分支的发布: ...
- Hibernate学习-在线书城后台管理系统的设计
写在前面:小编经历了昨天一晚上加今天一整天的“不吃不喝(夸张点…总之就是把时间全分享给TA了)”终于把程序的问题全部解决了,小编现在的心情十分的开森,开森,开森,Happy,话不多说,直接进入正题: ...
- poj 2945 trie树统计字符串出现次数
用记录附加信息的val数组记录次数即可. trie的原理:每个可能出现的字目给一个编号c,那么整个树就是一个c叉树 ch[u][c]表示 节点u走c边过去之后的节点 PS:trie树还有种动态写法,使 ...