memcached多个服务器间分享缓存实现缓存负载均衡(二.实现)
2017-06-26 18:35
393 查看
具体实现篇
此处以django为例,介绍memcached如何在django中使用
首先,在settings.py文件中,对CACHES模块进行设置,多个IP/PORT之间用逗号间隔。
很多文章都止步于此,所以我也一开始以为只需要这样就行了,但是配置好Nginx负载均衡后,还是没有实现memcached的共享。于是在这台机器(本机IP为10.111.75.25)上试了下:
发现并不能访问。因此发现memcached竟然还对IP做了限定。。这和我Google的答案不一样啊(网上都是说memcached不对IP做限制,只能通过系统防火墙实现)。。于是就找到memcached配置文件(/etc/memcached.conf),打开看了下,发现有这么一行,才知道原来memcached默认限定本地IP来访问。。:
找到问题所在,改起来就容易了,把这一行改成:
-l 10.111.75.25, 127.0.0.1
:wq保存,重启下memcached,再telnet,就没问题了:/etc/init.d/memcached restart
加上10.111.75.25这个IP,就能让外网IP能够访问到本地的memcached服务了。
至此,memcached不能共享数据的问题解决,实现负载均衡下的缓存共享。
AyoCross
此处以django为例,介绍memcached如何在django中使用
首先,在settings.py文件中,对CACHES模块进行设置,多个IP/PORT之间用逗号间隔。
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': [ '10.111.75.24:11211', '10.111.75.25:11211', ] } }
很多文章都止步于此,所以我也一开始以为只需要这样就行了,但是配置好Nginx负载均衡后,还是没有实现memcached的共享。于是在这台机器(本机IP为10.111.75.25)上试了下:
telnet 10.111.75.24 11211
发现并不能访问。因此发现memcached竟然还对IP做了限定。。这和我Google的答案不一样啊(网上都是说memcached不对IP做限制,只能通过系统防火墙实现)。。于是就找到memcached配置文件(/etc/memcached.conf),打开看了下,发现有这么一行,才知道原来memcached默认限定本地IP来访问。。:
# Specify which IP address to listen on. The default is to listen on all IP addresses # This parameter is one of the only security measures that memcached has, so make sure # it's listening on a firewalled interface. -l 127.0.0.1 # Limit the number of simultaneous incoming connections. The daemon default is 1024 # -c 1024
找到问题所在,改起来就容易了,把这一行改成:
-l 10.111.75.25, 127.0.0.1
:wq保存,重启下memcached,再telnet,就没问题了:/etc/init.d/memcached restart
加上10.111.75.25这个IP,就能让外网IP能够访问到本地的memcached服务了。
至此,memcached不能共享数据的问题解决,实现负载均衡下的缓存共享。
AyoCross
相关文章推荐
- memcached多个服务器间分享缓存实现缓存负载均衡(一. 原理)
- LNMP架构,phpf服务器和memcached缓存配置,openresty+memcached实现缓存
- 利用memcached做缓存服务器,为后端tomcat服务器做会话保持,利用httpd的jk模块模块做负载均衡
- 【整理】Nginx+Tomcat+Memcached实现服务器集群负载均衡
- 用DNS实现多台服务器作负载均衡
- 用DNS实现多台服务器作负载均衡
- 循环复用DNS实现多服务器的负载均衡
- Memcached-----memcached实现内存缓存
- 在ASP.NET 中实现单点登录(利用Cache, 将用户信息保存在服务器缓存中)
- 负载均衡--大型在线系统实现的关键(下篇)(服务器集群架构的设计与选择)
- 用DNS实现多台服务器作负载均衡
- 使用网络地址转换实现多服务器负载均衡
- Memcached-----memcached实现内存缓存[zz]
- Memcached-----memcached实现内存缓存
- 使用网络地址转换实现多服务器负载均衡
- 用DNS实现多台服务器作负载均衡
- 使用网络地址转换实现多服务器负载均衡
- 用DNS实现多台服务器作负载均衡
- 用DNS实现多台服务器作负载均衡