对于像淘宝这样上万台服务器集群环境的大型互联网应用, 通常我们面临这样一种需求:
我们需要一个集群管理者管理集群里的服务器,同一个集群中任何一台服务器宕机,其他服务器都能感知. 如果是集群管理者宕机,集群中所有的服务器不能受任何影响,能实时切换到备份管理者上被提供服务。
这个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是一款分布式协调服务框架,它的设计思路是将任务分配者(工头)和任务执行者(工人)通过一个协调者(职介所)进行连接,实现任务的分布式处理。这个框架的核心概念包括工头进程、工人进程以及职介所服务...
开发者根据自己的需求可以基于Fourinone自己去扩充这些功能,包括mq集群,通过一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能依据key定位服务器的做法实现集群管理。
不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能根据key定位服务器的...
1. **统一配置管理**:通过提供的指南和demo,学习者可以了解如何利用Fourinone进行统一配置管理,确保集群中各个节点的配置一致性。 2. **分布式计算上手**:针对初学者,有专门的上手指南和示例代码,帮助理解...
不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能根据key定位服务器的...
- **分布式计算集群规模:** 总计20台服务器,包括1台控制节点和19台计算节点。 - **硬件配置:** - CPU: Intel Xeon E5520 @ 2.27GHz (4核心) - 内存: 4GB - 操作系统: Red Hat Enterprise Linux AS release 4 ...
1. **分布式并行计算**:FourInOne支持MapReduce模型,允许用户进行大规模的数据并行处理,通过任务分解、数据分片和结果聚合实现高效计算。 2. **任务调度系统**:内置的任务调度机制能根据资源状态动态调整任务...
2. 分布式协调服务:这部分主要是为了管理和协调集群中的各个节点,实现节点间的通信和任务调度。它负责监控节点的状态,确保服务的可用性和容错性,当某个节点出现故障时,能够快速进行故障转移。 3. 分布式存储...
4. 集群管理:FourInOne还支持服务注册与发现,通过ZooKeeper的节点监控,可以实时感知到集群中节点的变化,实现服务的动态管理和负载均衡。 此外,FourInOne还提供了丰富的API,使得开发者能够轻松地集成到自己的...
Fourinone是一款由淘宝开发的轻量级分布式框架,其核心目标是通过整合分布式计算、分布式缓存、一致性、消息队列和分布式文件系统等关键技术,为大型互联网应用提供强大的计算能力和统一的资源管理。这款框架特别...
四、FourInOne与Zookeeper的区别 虽然FourInOne和Apache Zookeeper在功能上有相似之处,都提供分布式协调服务,但FourInOne更专注于阿里巴巴内部的业务场景,针对电商领域的特性和需求进行了定制化设计。而...
2. 模块实现原理:深入研究分布式锁、ID生成、配置管理和调度器的具体实现,如算法选择、通信协议等。 3. 客户端和服务端交互:研究客户端如何与服务端进行通信,理解RPC(远程过程调用)机制。 4. 高可用与容错:...
fourinone号称了集成了hadoop,zk,memcache,mq于一身的四不像超级神器,...自己用socket或者NIO实现,要知道用NIO实现一个网络通讯框架是很考验技术功底。在运行的时候需要配置文件,此配置为fourinone-4.17.10配置文件
本文旨在介绍一种名为Fourinone2.0框架下的分布式文件访问机制,特别是通过FttpAdapter和FileAdapter组件实现的分布式文件访问与操作。 #### 二、FttpAdapter与FileAdapter简介 在Fourinone2.0框架下,FttpAdapter...
学习资料:淘宝分布式并行计算四合一框架Fourinone 内容:淘宝分布式并行计算四合一框架Fourinone详细介绍;源码分析及使用说明;Fourinone分布式计算框架性能、压力、容灾测试报告;框架压缩包 本示例把分配任务的...
淘宝Fourinone2.0提供了一个4合1分布式框架和简单易用的编程API,实现对多台计算机CPU,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职...
其中,分布式并行计算模块提供了多种计算模式,包括“农民工”、“包工头”、“职介绍”以及“手工仏库”,这些模式利用了集群中每台计算机的CPU、内存和硬盘资源,从而实现强大的计算能力。分布式缓存模块实现了...
同时,“zookeeper”作为分布式协调服务,很可能在Fourinone的架构中起到关键作用,帮助管理集群状态,实现服务发现和配置同步。 综上所述,《Fourinone分布式计算框架性能、压力、容灾测试报告》揭示了Fourinone在...