分布式环境下可靠数据同步及通讯的协议分析.docVIP

分布式环境下可靠数据同步及通讯的协议分析.doc

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

分布式环境下可靠数据同步及通讯的协议分析   摘要:随着互联网技术的日益普及,分布式计算模型在企业中的应用越发显得重要。以往在要求高性能、高可用性环境下进行业务复杂计算往往注重于单台高价计算机的运算性能和可靠性,目前在分布式计算模型趋于成熟之后已经逐步转向采用多台廉价计算机协同计算来达到相同的目的,对企业应用架构而言,这不但大大降低了企业采用高性能计算的成本,也在业务可扩展性上提供了敏捷的渠道。在众多的分布式环境下的计算通信模型中,JGroups作为一个可靠的组播通信工具提供了一个非常优秀的轻量级分布式计算模型及实现。本文试图从分布式计算需要解决的几个重要问题出发,详细剖析JGroups框架在分布式计算的可靠性和通信协议上所提供的完整解决方案。 中国论文网 /8/view-座机电话号码.htm   关键词:分布式计算;JGroups技术;组播;通信协议;高可用;集群 中图分类号:TP391.41 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.09.029 0 引言 JGroups最初是由Bela Ban于1998年到1999年间在美国康奈尔大学攻读博士后学位时期着手开发的一款解决分布式环境下的计算机之间通讯的软件。2000年5月,SourceForge成立之后,Bela Ban看到了开源的力量,并决定将JGroups的源代码共享给互联网上其他有共同兴趣的爱好者。随着更多的开源软件爱好者的加入,JGroups迅速壮大起来。2003年,在JBOSS的创始人Sacha Labourey的邀请下,JGroups加入到JBoss的队伍中并成为之后JBoss Cache框架的核心通讯组件。2006年5月,著名的Linux操作系统产商Red Hat宣布收购JBoss,JGroups也随之成为了目前世界上主流开源软件服务提供商的核心软件框架之一。到目前为止,JGroups提供的分布式计算模型和通信协议通过软件开源过程的不断锤炼已经逐步成熟,事实上已经成为小规模计算机集群底层状态复制的行业标准。 1 分布式计算模型 JGroups是由java编写的一个可靠的组播/多播通讯工具包,它不但支持可靠的组播通讯,也支持采用TCP协议来进行消息传递。其工作模式基于IP多播,可以在可靠性和群组成员管理上进行扩展。其基本思想是在计算机网络环境下,通过配置通信协议将多台计算机进行分组,在计算机分组中通过多套协议来保证可靠的消息通信和分组中每个成员异常状态监测,在此基础上可以为应用程序提供完整的分布式环境下的业务状态同步、任务分配和计算结果的收集。 从设计上来看,它提供了一种灵活兼容多种协议的协议栈。协议栈可以相互组合使用,用来适应不同产品的可靠性需求。这种协议栈可以让用户根据自己的应用的需求进行调整,主要是根据特定的网络环境下需要同步的数据量大小、计算节点集群的规模以及需要同步的频率定制适合自己的协议栈。 从应用上来看,它提供了分布式环境下有效的同步机制,提供了在集群计算节点之间通信统一的API,包含了从点到点以及由单个计算节点到全组的通信接口,可以很方便的保持各个计算节点状态一致性。 1.1 可靠的消息传输 在分布式计算环境中,保证计算节点之间数据通信的可靠性是计算机集群需要考察的一个最基本的能力。目前最通用的网络通信协议主要是TCP协议和UDP协议。在多台计算机协同工作的环境中,采用TCP协议可以很方便的达到消息可靠传输的目的,但是TCP协议要求计算机在网络中创建点到点之间有状态的SOCKET资源,如果需要将同一条消息发送给集群中的每一个节点,采用TCP协议将比采用UDP协议需要更多的网络流量,这在大规模的网络实时通信中对应用程序而言是一笔不小的开。UDP协议对网络资源的消耗代价很低,但UDP协议本身并不能保证通信过程中消息可以可靠的从消息发送者传递到消息接收者手中,所以如果要在集群环境中使用UDP协议达到可靠的消息传输的目的,需要在UDP协议之上增加新的协议进行控制。 在集群环境下使用UDP协议进行通信可以有效的降低集群网络环境的数据传输压力,JGroups通过UNICAST协议来保证消息的可靠传输,UNICAST协议在UDP的基础上增加了消息响应的步骤,以保证传输过程的完整性。原始的UDP协议不要求消息的接收者反馈给消息的发送者是否已经成功接收到消息,UNICAST在此基础上完善了消息反馈的过程。消息的反馈方式分为ACK和NAKACK两种: ACK:消息的发送者不断的重复发送消息,直到所有的接收者都返回了确认消息已经收到, NAKACK:消息的接收者不断请求消息发送者发送消息,直到消息的接收者确认所有收到的消息是完整的。 UNICAST协议需要保证消息的传输过程是可靠的,它依赖于一个不断发送消息的时间周期来进行循

文档评论(0)

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

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

1亿VIP精品文档

相关文档