分布式异构系统消息中间件设计与实现.docVIP

分布式异构系统消息中间件设计与实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式异构系统消息中间件设计与实现.doc

分布式异构系统消息中间件设计与实现   摘 要采用消息中间件可以有效减少应用系统开发难度,分布式异构系统消息中间件可以运行在Windows和Linux操作系统之上,提供了统一的后台程序运行框架格统一的消息收发接口,屏蔽操作系统差异,可以跨平台传输海量数据消息,同时使开发者专注业务功能开发。在分布式应用系统中是一种非常重要且基础的组件。本设计就是为了解决实际项目中的需要,而进行设计和开发的中间件系统。中间件还允许在系统运行过程中动态地增加或减少业务计算端子,使整个业务系统具有良好的动态负载伸缩能力。   【关键词】消息中间件 Linux Windows 套接字 集群 分布式   1 绪论   国内厂家如早期的金蝶和用友等有自己的中间件产品;随着互联网企业的崛起,阿里巴巴等企业也都有自己消息中间件。但国外的企业更是高举开源的大旗,开发了很多开源但是非常高效的消息中间件。其中典型的产品是是ActiveMQ和Kafka,ActiveMQ完全实现了JMS的规范,但Kafka则设计了另一套吞吐非常高的分布式发布-订阅消息系统,随着Hadoop系统的广泛使用,目前非常流行。   但这些系统一方面比较庞大,另一方面都是采用Java语言开发,在一些性能要求非常高的软件系统中不是太合适;比如视频和图像处理系统中,需要处理大量的视频帧或图像,这时采用C/C++语言开发有着更高的效率。   2 中间件架构   分布式中间件系统的设计理念是:分层式模块化设计,消息中间件系统的逻辑结构分为四层,如图1所示。   消息中间件系统的概念模型(逻辑结构)采用四层概念设计,这种分层式设计概念主要是为了系统稳定性及扩展性问题。它的优势是将服务、接口和协议这三个概念明确地区分开来,减少模块间的耦合性,这样各层中的不同功能模块实现了不同的职责。   中间件模型中将服务、接口和协议这三个概念明确地区分开来的目的是:一般服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务。这样使得各层之间具有很强的独立性。   3 中间件设计   中间件模型分为以下四层:操作系统异构层、专用算法封装层、集群通信控制层、业务抽象层。各层的定义和相关功能如下:   操作系统异构层:操作系统异构层定义了物理运行环境之上的不同操作系统的统一封装,支持LINUX和WINDOWS,将两个操作系统提供的有差异的系统调用进行整合,对向上层提供透明化接口封装,实现接口统一,调用者可以不用关心操作系统的差异。   专用算法封装层:专用算法封装层向上层提供专用的算法支持,如随机数、加密、解密、数据压缩、高效HASH、签名算法等,是整个消息中间件系统的基础支撑部分。   集群通信控制层:集群通信控制层定义了基于操作系统层之上的各物理服务器的虚拟网络系统,以便于消息的流转。集群通信控制层的特征是传输消息可在各逻辑运行服务器间按需要寻址传输,解决流量吞吐及消息并发处理。   业务抽象层:业务抽象层定义基于消息中间件系统开发的业务程序的抽象接口,包括初始化、结束、TICK、秒TICK、节点连接、节点断连等相关接口,所有集群业务都必须按此规范进行编程。   4 测试结果与分析   测试范围是消息中间件系统的各项性能指标,通过压力测试,本消息中间件系统测试结果数据在小包消息数量大吞吐、高并发测试两方面都比较满意,在尽可能与实际硬件环境相似情况下,消息中间件系统在数据包响应时间、并发数、总体数据吞吐量等方面都能达到较高的性能,能满足一般并行应用系统的需求。   5 后续工作展望   当前的中间件系统可以较好的完成大部分工作,但是当系统规模达到一定程度时,比如上千台服务器的规模,每秒钟的并发消息达到几十万条时,本系统明显不能满足要求。所以本系统的使用范围是定义为中小规模的集群系统。   对于此类系统,可以参考Hadoop系统中的kafka的实现方式,毕竟kafka是开源系统,可以从其源码中学习其实现方式。但kafka的开发语言是Java语言,是作为分布式系统定义的,是一个重量级系统;而本系统是C++语言,仅作为消息中间件系统,是轻量级系统,这两者有着较大的差异,其设计思想可以作为借鉴。   参考文献   [1]Middleware,http:///str/descriptions/middleware.html.   [2]Chris Stout.Message-OrientedMiddleware.http://,2001,November 15.   [3]廖振松,杨勤,曾志华.基于移动信令数据分析的大数据中间件研究[J].信息通信,2014(08):163-164.   作者简介   金志中(1976-),湖北省武汉市

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档