集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
上图是三个主服务器,每个主服务器都有一个从服务器 ,从而组成了6个节点的负载均衡。
下面我们用实际案例来演示redis的负载均衡实现的过程:
第一步:创建6个redis配置文件
(如果redis没有安装,请参考本博客的上篇文章的介绍)
编辑文件7000.conf
port 7000 bind 127.0.0.1 daemonize yes pidfile 7000.pid cluster-enabled yes cluster-config-file 7000_node.conf cluster-node-timeout 15000 appendonly yes
其他5个文件参考上面的配置,只需要修改三处对应的数字。
第二步:启动6个redis服务
$ src/redis-server 7000.conf
第三步:执行redis-trib.rb命令,启动负载均衡
(这里需要安装ruby,本文暂略去,后面有机会再详细介绍)
$ src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
从上图中可以看出,程序自动分配了主从服务器节点。
为了演示方便,6个节点都部署到一台机器上,实际中需要部署到不同地点的服务器中。
如果一个节点出了问题,系统会自动切换到另外一台服务器上。
第四步:客户端连接进行验证
$ src src/redis-cli -h 127.0.0.1 -c -p 7000
ok,大功告成,从上图看出7000端口的服务器保存数据的时候,系统自动分配到7001端口的服务器中。
如果你觉得本文章对你有所帮助,请持续关注我的博客。