FourInOne也可以当成简单的mq来使用,该demo演示了队列和主题订阅两种模式的实现
一、队列
将domain视为mq队列,每个node为一个队列消息,检查domain的变化来获取队列消息。
Sender:是一个队列发送者,他发送消息的实现是在queue上创建一个匿名节点来存放消息
pl.create(queue, (Serializable)obj);
Receiver:是一个队列接收者,他轮循queue上有没有最新消息,有就取出,并删除该节点,注意他是每次获取第一个消息,这样保证消息读取的顺序。
运行步骤:
1、启动ParkServerDemo(它的IP端口已经在配置文件指定)
2、运行Sender
3、运行Receiver
二、主题订阅
可以将domain视为订阅主题,将每个订阅者注册到domain的node上,发布者将消息逐一更新每个node,订阅者监控每个属于自己的node的变化事件获取订阅消息,收到后清空内容等待下一个消息,多个消息用一个arraylist存放
Publisher:是一个主题发布者,他通过pl.get(topic)获取topic主题的所有订阅者节点,并将消息更新到每个节点上,如果有多个追加到arraylist存放
Subscriber:是一个消息订阅者,他通过subscrib(String topic, String subscribeName, LastestListener lister)实现消息订阅,其中3个参数分别是主题名、订阅者名称、事件处理实现。Subscriber实现了LastestListener事件处理接口happenLastest(LastestEvent le),这个接口会传入更新的节点内容对象,然后Subscriber用一个空的arraylist清空内容,等待下一次接收消息。happenLastest有个boolean返回值,如果返回false,它会一直监控变化,继续有新的变化时还会进行事件调用;如果返回true,它完成本次事件调用后就终止。
运行步骤:
1、启动ParkServerDemo(它的IP端口已经在配置文件指定)
2、运行Subscriber,因为Subscriber可以有多个,传入不同的subscribeName参数代表不同的Subscriber
3、运行Publisher
FourInOne不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于FourInOne自己去扩充这些功能,包括mq集群。如果需要事务处理可以将多个消息封装在一个集合内进行发送,上面的队列接收者收到消息后删除实际上是一种消息确认方式,也可以将业务逻辑处理完后再进行删除。如果需要持久保存消息可以在封装一层消息发送者,发送前后根据需要进行数据库或者文件持久保存。利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能根据key定位服务器的做法实现集群管理。
邮箱:fourinone@yeah.net
企鹅群:1313859
本demo源码可以在开发包中下载
下载地址:
http://www.skycn.com/soft/68321.html
分享到:
相关推荐
【淘宝FourInOne架构原理详解】 淘宝FourInOne是一款由阿里巴巴集团自主研发的轻量级并行计算框架,它主要用于解决大规模分布式系统中的高并发、低延迟的问题,为电商平台如淘宝提供强大的数据处理能力。该框架的...
fourinone是一款分布式协调服务框架,它的设计思路是将任务分配者(工头)和任务执行者(工人)通过一个协调者(职介所)进行连接,实现任务的分布式处理。这个框架的核心概念包括工头进程、工人进程以及职介所服务...
【淘宝分布式框架Fourinone详解】 Fourinone是一款由淘宝开发的轻量级分布式框架,其核心目标是通过整合分布式计算、分布式缓存、一致性、消息队列和分布式文件系统等关键技术,为大型互联网应用提供强大的计算能力...
Fourinone是淘宝自主研发的一个分布式并行计算框架,它巧妙地整合了Hadoop、ZooKeeper、MQ(消息队列)和分布式缓存这四大关键组件,为开发者提供了全面的分布式计算解决方案。 **Fourinone的功能特性:** 1. **...
开发者根据自己的需求可以基于Fourinone自己去扩充这些功能,包括mq集群,通过一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式缓存的智能依据key定位服务器的做法实现集群管理。
基于Fourinone可以轻松实现分布式配置信息,集群管理,故障节点检测,分布式锁,以及淘宝configserver等等协同功能。 其次, Fourinone可以提供完整的分布式缓存功能。如果对一个中小型的互联网或者企业应用,仅仅...
但是Fourinone不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式...
fourinone号称了集成了hadoop,zk,memcache,mq于一身的四不像超级神器,致力于分布式应用。别的我不懂,今儿聊一下fourinone中的分布式缓存以及分布式文件系统,说到分布式,不得不用到网络通讯,不得不提及RPC,...
- Fourinone测试基于本地文件I/O,使用Fourinone提供的FileAdapter进行本地文件读取。 - Hadoop测试基于HDFS文件I/O,blockSize为默认的64M。 - **算法说明:** - **Fourinone:** 工人按照8M buffer读取速度统计...
总的来说,淘宝分布式框架Fourinone通过其独特的设计和实现,为开发者提供了一种灵活高效、易于控制的分布式计算方案。它的出现,无疑会推动分布式计算技术的发展,也为互联网工程师提供了更多选择,帮助他们更好地...
"四不像"(FourInOne)是淘宝开发的一款轻量级分布式系统框架,它以其小巧精悍的特性深受开发者喜爱,成为学习分布式系统的重要参考资料。本篇文章将围绕"fourinone-master.zip"这个压缩包,深入剖析四不像的核心...
淘宝Fourinone2.0提供了一个4合1分布式框架和简单易用的编程API,实现对多台计算机CPU,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职...
学习资料:淘宝分布式并行计算四合一框架Fourinone 内容:淘宝分布式并行计算四合一框架Fourinone详细介绍;源码分析及使用说明;Fourinone分布式计算框架性能、压力、容灾测试报告;框架压缩包 本示例把分配任务的...
通过阅读协同权限demo源码,我们可以更深入地了解FourInOne在权限控制方面的实现。这个示例展示了如何利用FourInOne提供的工具,实现跨节点的权限管理和控制,这对于大型分布式系统中的权限隔离和安全控制至关重要。...
对于一个分布式计算的应用,如果不需要自动部署,将...如果在同台机器上模拟自动部署,需要注意parkServer和工头不重复启动http服务(可以将park部分配置的<STARTWEBAPP>false</STARTWEBAPP>设置为关闭)。 附件是demo
中级java笔试题四烯酮 淘宝 Fourinone(中文名“四不像”)提供了一个四合一的分布式框架和简单易用的编程api,将多机的CPU、内存...版本:淘宝Fourinone(中文名字“四像”)是一个四合一应用计算框架,在写这个框架之
1. **分布式并行计算**:FourInOne支持MapReduce模型,允许用户进行大规模的数据并行处理,通过任务分解、数据分片和结果聚合实现高效计算。 2. **任务调度系统**:内置的任务调度机制能根据资源状态动态调整任务...