<四>基于淘宝Fourinone实现集群管理demo
2011-12-05 13:44
791 查看
对于像淘宝这样上万台服务器集群环境的大型互联网应用, 通常我们面临这样一种需求:
我们需要一个集群管理者管理集群里的服务器,同一个集群中任何一台服务器宕机,其他服务器都能感知. 如果是集群管理者宕机,集群中所有的服务器不能受任何影响,能实时切换到备份管理者上被提供服务。
这个demo演示了如何利用fourinone在简单几行代码下去实现上述功能
GroupManager:是一个集群管理者,它有master和slave两个实例,实际上你可以建立任意多的slave
GroupServer:代表一个集群中的server, 它启动后会注册自己的信息到集群管理者,然后监控集群中其他机器的状况并实时反馈。它使用一个getLastest的api,这个api可以返回最新的集群状况,如果不是最新的就返回null
pl.create("group", args[0], args[0], AuthPolicy.OP_ALL, true);
上面的方法进行节点的注册,其中前3个参数分别是domain,node,value,AuthPolicy.OP_ALL表示该节点的权限为公共,也就是可以被其他进程修改删除,true代表他是个保持连接节点,如果失去连接,该节点会被删除。
运行步骤:
1、启动GroupManager进程,输入参数分别为M,代表master
2、启动GroupManager进程,输入参数分别为S,代表slave
3、启动3个GroupServer进程,每次输入参数分别为“one,two,three”代表3台集群server(它访问master的IP端口已经在配置文件指定)
观察每个GroupServer进程里的输出,每个进程窗口都会有集群里所有服务器的信息输出,可以关掉其中一个进程模拟一个GroupServer宕机,此时其他两个GroupServer进程会实时输出集群更新信息,请再关掉master进程模拟GroupManager宕机,会发现两个GroupServer进程会即时选取slave为新的领导者,请把刚才关掉的一个GroupServer进程恢复,会发现所有GroupServer在master宕机情况下,也能实时得到集群的最新信息。
邮箱:fourinone@yeah.net
腾讯群:1313859
本demo源码和开发包可以下载
http://www.skycn.com/soft/68321.html
我们需要一个集群管理者管理集群里的服务器,同一个集群中任何一台服务器宕机,其他服务器都能感知. 如果是集群管理者宕机,集群中所有的服务器不能受任何影响,能实时切换到备份管理者上被提供服务。
这个demo演示了如何利用fourinone在简单几行代码下去实现上述功能
GroupManager:是一个集群管理者,它有master和slave两个实例,实际上你可以建立任意多的slave
GroupServer:代表一个集群中的server, 它启动后会注册自己的信息到集群管理者,然后监控集群中其他机器的状况并实时反馈。它使用一个getLastest的api,这个api可以返回最新的集群状况,如果不是最新的就返回null
pl.create("group", args[0], args[0], AuthPolicy.OP_ALL, true);
上面的方法进行节点的注册,其中前3个参数分别是domain,node,value,AuthPolicy.OP_ALL表示该节点的权限为公共,也就是可以被其他进程修改删除,true代表他是个保持连接节点,如果失去连接,该节点会被删除。
运行步骤:
1、启动GroupManager进程,输入参数分别为M,代表master
2、启动GroupManager进程,输入参数分别为S,代表slave
3、启动3个GroupServer进程,每次输入参数分别为“one,two,three”代表3台集群server(它访问master的IP端口已经在配置文件指定)
观察每个GroupServer进程里的输出,每个进程窗口都会有集群里所有服务器的信息输出,可以关掉其中一个进程模拟一个GroupServer宕机,此时其他两个GroupServer进程会实时输出集群更新信息,请再关掉master进程模拟GroupManager宕机,会发现两个GroupServer进程会即时选取slave为新的领导者,请把刚才关掉的一个GroupServer进程恢复,会发现所有GroupServer在master宕机情况下,也能实时得到集群的最新信息。
邮箱:fourinone@yeah.net
腾讯群:1313859
本demo源码和开发包可以下载
http://www.skycn.com/soft/68321.html
相关文章推荐
- <三>基于淘宝Fourinone实现统一配置管理指南和demo
- <一>基于Fourinone实现分布式计算上手指南和demo
- <五>基于淘宝Fourinone实现分布式锁指南和demo
- <六>基于淘宝Fourinone实现分布式缓存指南和demo
- <七>基于淘宝Fourinone实现MQ指南和demo
- <二>基于Fourinone实现分布式计算完整demo
- <四>基于Fourinone实现集群管理demo
- <三>基于Fourinone实现统一配置管理指南和demo
- <五>基于Fourinone实现分布式锁指南和demo
- <Machine Learning in Action >之二 朴素贝叶斯 C#实现文章分类
- <六>基于Fourinone实现分布式缓存指南和demo
- <七>基于Fourinone实现MQ指南和demo
- <四>Oracle创建sequence序列,实现主键自增长
- <一>基于Fourinone实现分布式计算上手指南和demo
- <二>基于Fourinone实现分布式计算完整demo 推荐
- <实例>C++ 将一句话里的单词进行倒置,标点符号不倒换——使用string库实现
- Spring -- <tx:annotation-driven>注解基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)的区别。
- Hibernate实体类映射文件demo.hbm.xml 中的<generator class="?"></generator>的不同属性含义
- <UI>实现动画的若干种方式
- quick-cocos2d-x的热更新机制实现<四>update包(lua)(上)