各节点集群方案 博客分类: 集群 集群
各节点集群方案整理:
集群软件是分发(监听自动移除转发节点(主节点)),主从切换时其他集群的软件中的设置决定
哨兵既可以监听主,也可以监听备
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
推荐阅读
-
web服务器集群 博客分类: web 集群亲和式集群session粘性共享sessiontomcat集群
-
各节点集群方案 博客分类: 集群 集群
-
Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享 博客分类: 应用服务器 ApacheTomcat配置集群负载均衡session共享
-
Java分布式应用技术架构介绍 博客分类: JavaEE java分布式缓存集群分库分表
-
配置负载均衡 配置集群 博客分类: 服务器 配置负载均衡配置集群
-
集群高可用架构整理(不断更新) 博客分类: 分布式 集群高可用分布式
-
zooKeeper:高可用集群的安装及配置 博客分类: zookeeper zookeeper集群主从
-
分布式与集群 博客分类: 笔记 分布式集群负载均衡网络通信
-
Java分布式应用学习笔记04JDK的并发包的集合总结---后篇 博客分类: 分布式集群 分布式集群并发包Java集合
-
Apache jboss 集群详细配置 博客分类: 技术文档 Apachejboss集群配置