组通信概述

组通信概述我们仅从应用角度大致介绍下jgroups和spread,因为这是目前使用较多的两个组件,而且他们也代表了两种不同的应用实现.有关其技术设计我们在后面会陆续的重点介绍.

spread以daemon程序(C实现)运行,应用程序通过spread提供的接口函数(spread提供有c,java,perl等)来实现组通信和组维护,当然,如果你已经深入了解了spread源码,你也可以自己封装消息与spread dameon通信来实现一套调用函数.

jgroups(java实现)则提供了一个jar包,应用程序相当于通过集成源代码来实现组通信和组维护.当然,其实我们也可以基于jgroups封装一层,形成类似于spread的daemon程序,这样,C应用程序也就可以使用它了.

 

说到这,我们先来看下组通信应用情况有哪些?一般概括有如下几种情况:

 

一台机器上一个应用程序一个组.

一台机器上一个应用程序多个组,组遵循统一实现流程.

一台机器上一个应用程序多个组,每个组的实现流程不同.

一台机器上一个应用程序多个组,几个组为单位而其实现流程不同.

一台机器上多个应用程序一个组.

一台机器上多个应用程序多个组,各应用程序遵循统一的组的实现流程.

一台机器上多个应用程序多个组,各应用程序的组的实现流程不同.

一台机器上多个应用程序多个组,几个应用程序为单位而其实现流程不同.

 

对于一台机器多个应用程序情况,我们认为:底层的物理连接或组播地址等应该是可以共享的.对spread而言,每台机器只有一个spread daemon,这是天然特性.对jgroup而言,以前版本不能做到这点,但最新版本通过设置TP层协议是支持的.

对于一台机器一个应用程序情况,我们认为:还要做到在尽量高的层次上资源共享.如Jgroup可基于同一Jchannel支持多个组(虚拟组概念). 而spread则通过每个连接到spread daemon,该连接亦可加入多个不同组.

对于消息发送,spread和jgroups大致相同.

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值