欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

各节点集群方案 博客分类: 集群 集群 

程序员文章站 2024-03-16 16:23:16
...

 

各节点集群方案整理:

 

 

集群软件是分发(监听自动移除转发节点(主节点)),主从切换时其他集群的软件中的设置决定

哨兵既可以监听主,也可以监听备

http://blog.csdn.net/candy_rainbow/article/details/52842402

,哨兵模式说白了就是将反客为主的一些列动作自动化,他会在后台有一个监控,监控当前的主机,巡逻主机下面的从机,如果某一时刻主机挂掉了,那么他会通过一种投票的机制从从机之中选举一台作为新的主机,并且,其余的从机将会连接到这个新的主机上面。下面演示一下他的工作流程:

正常情况下,主机挂了之后,从机的角色依然是slaver,但是此时,有了哨兵之后,主机挂了,哨兵会投票选举一个从机作为新的master,可以看到,稍微等待几秒钟之后,81端口的从机成为了新的主机,同时,80端口成为了81端口的从机,我们来看看哨兵打印的日志:

原来的主机恢复了以后,就会自动的转为从机跟随新主机。

 

http://blog.csdn.net/zfl092005/article/details/17523945

可以看出redis的主从切换要么是手动切换,要么时用哨兵(虽然有设置,但是切换的时候需要手动切换除非设置了哨兵)

在各个安装目录下新建一个sentinel.cfg文件 这里设置sentinel monitor 主机名 主机ip 主机端口 票数n         票数多余n的从机作为主机

由哨兵投票

 

https://zhidao.baidu.com/question/985594806055270459.html

keepalived的mysql主挂掉后,主上的keepalived应该调用脚本将自己的VIP down掉,从上的keepalived会检测的VIP消失,然后把自己的VIP加上,然后执行master脚本。 keepalived只是用来切换VIP的,如果要是mysql有从变成主,则需要将所有的更改操作写到脚本中,在脚本里调用。

k  z 切换

http://blog.chinaunix.net/uid-167175-id-3397675.html

 

http://outofmemory.cn/wiki/keepalived-configuration

拓扑图,架构图

专门手册

 

//mq集群:

 

 

任何的集群都有一个集群+相应的集群管理软件,主备的情况只有主可用,或可修改(HA)备查询

要负载的话还要多主实现

 

 

kp--》 tomcat等均主多台(不算集群)转发和主从控制(安装在一起并用脚本控制)

 

 

zk --》actvie这种均主集群(有自己的主备设置)的主从控制(投票控制)集群软件自身不设置主从怎么同步????

虽然没有显示的设置同步但是有 replicas="3"和同样的brokerName这样就相当于master-slave文字设置的同步了,zk投票切换active(HA)

 

如果还需要负载均衡:加上Broker Cluster搭建方式即(Master/Slave集群搭建-Broker Cluster搭建方式)

搭建两套主备模式(不能直接用两个常规节点(没有主备)模式因为只有Master Slave会做主从间的消息同步,这是一个致命伤。当你转到备机???)

 

虚拟ip可以很好分主但是mq用的是rip由于随机转发,可能从一个群,转到另一个群(不由于集群间消息不一致,所以会导致受不到)

这种情况可以在群之间设置穿透(duplex="true")(一个节点有效的时候会同时转发一分到另一个群的节点)

http://www.cnblogs.com/shihaiming/p/6018916.html

 

http://blog.csdn.net/icecream0/article/details/44101987

哨兵--》redis集群(master-slave),哨兵监控切换

 

mysqlproxy/mysqlcluster--》mysql集群(master-slave),代理监控切换,实现读写分离,即达到负载均衡的效果

Mysql-Proxy本身不会实现读写分离,主要是依靠 Lua 脚本实现的

 

 

多主:

http://www.linuxidc.com/Linux/2014-09/106570.htm

无论时主备,还是主主都是设置相互指向(区别在于指向时设置是主还是备)即可同步,由于主备用的是mysqlproxy代理设置主备,主主就不用这个直接用kp转发vip即可(需要和mysql搭在一起)

(类似两套主备集群)思路(集群中同步,集群间穿透同步),然后转发选用(选主的时候由于没有mysqlproxy所以不会自动切换,这里和kp装在一起控制切换)

(如果需要主备又需要多主,可以用mysqlproxy控制主备,kp和mysqlproxy按在一起控制负载)

solr有自己的solrcould方案通过http请求建立shard

 

由此可见不同的软件集群有不同的集群管理工具(可选架构方式(软件)多)和以及基于这种管理工具下配置方式实现HA和负载均衡的方案(一个集群管理的方式只能参考)

 

集群两种思想(第三方监控软件,监控控制软件的集群,不同的软件集群用不同的监控软件)

1,控制切换(软件或脚本(主备自动同步))

2,控制负载(软件或脚本)(在HA的基础上进行分群,并且群之间可以同步(穿透))

 

 跟缓存或存储有关的在需要人为设置主备,用zk作为集群管理工具的不需要设置主备,自动选举,用kp的也不需要(和kp在一起就kp通过自己的主备决定了集群软件的主备),

redis通过哨兵切换,mysql通过mysqlproxy切换

 

Pure Master Slave(这种没有第三方集群管理的不能自动切换,需手动切换)用zk就可以(第三方集群管理)

 

参考

http://www.cnblogs.com/shihaiming/p/6018916.html

 

 

例如:

HAProxy+MyCat集群

http://www.iteye.com/topic/1146264

 

 

相关标签: 集群