web应用服务器1 : 1921682121:8001
web应用服务器2 : 1921682122:8001
需要虚拟出IP:19216821201:8805
解决方案:
在web1和web2上部署同样的两套应用程序,端口号都为8001
在web1和web2上部署nginx,nginx使用集群方式,将请求到的8805端口分发到集群服务器上。
在web1和web2上部署keepalived,keepalived配置虚拟ip:19216821201
在web1和web2上部署Memcached,进行session复制。
实际路由:
外部访问19216821201:8805,keepalived监听到后,确认分发到哪一台nginx。nginx通过箭筒8805端口,使用集群策略,再分发到具体服务器。
nginx依赖openssl、pcre、zlib。
nginx具体安装方案查看: Linux系统 - 源码编译安装Nginx
或者通过源码编译方式:
假设web1为主机,web2为备份机。
编辑web1的keepalived的配置文件:
编辑web2的keepalived的配置文件:
两台服务器的nginx配置一样
说明虚拟IP配置成功
没有虚拟IP地址,说明主机良好的状态下,备份机没有接管。
在两台服务器上都装上Memcached。
memcached需要依赖libevent:
其中n1和n2 即需要负载的机器上所装memcached的ip和端口。如家政的iFly-Housekeep项目需要
1921682121和1921682122两台机器,这两台上都需要安装memcached,端口都为11211
最近在把之前写在印象笔记里的一些压箱底的资料发布出来,这一篇是16年时候写的。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)