文档章节

JGroups - 01历史

东皇巴顿
 东皇巴顿
发布于 2017/03/21 18:12
字数 1113
阅读 97
收藏 0

关于 Bela Ban 和 JGroups

       JGroups作者Bela Ban于1998-1999在康奈尔大学(http://www.cornell.edu/)计算机科学学院攻读博士后(Post-Doc)学位。当时作者在Ken Birman(http://www.cs.cornell.edu/ken/)导师的引导下研究群组通信和分布式系统。当时他们研究群组通信原型产品为Ensemble,Ensemble使用OCaml语言开发,OCaml语言语法结构相当复杂,Ensemble提供Java接口,作者的学期项目就是实现这些Java接口,使Ensemble作为底层的通信工具,能够广泛的被Java应用使用。尽管实现 Ensemble Java接口可以使Java应用使用Ensemble,但是Ensemble编译安装比较复杂,平台依赖性强,所以作者开始用Java重写Ensemble,就是后来的JGroups。作者自己曾说:“使用纯Java的实现会对群组通信产生重大影响,所以花费了大量时间于此项研究。”

        2000年5月,SourceForge成立,SourceForge后来成为最大的开源软件平台和开源软件代码管理平台。作者决定使用SourceForge保存维护JGroups代码,将JGroups开源。就在此时,其他开发者加入到JGroups开发,这使JGroups得到了快速发展,与此同时,SourceForge JGroups  链接点击率直线上升,很多Java分布式的框架和产品底层状态复制基于JGroups。

  2002年秋季,当时JBoss创始人,后来红帽(Red Hat)CIO,现在CloudBees CEO Sacha Labourey 联系作者,并告诉作者JBoss集群实现将使用JGroups。作者于2003年加入到JBoss,负责JGroups和JBoss Cache产品。JBoss Cache 是基于JGroups之上的分布式缓存,作为JBoss Cache项目管理者,作者和他的团队的目标就是让JGroups成为最被广泛使用的Java多播通信框架和解决方案。

  2006年5月,Linux计算机操作系统最大的代表者红帽软件宣布收购JBoss,做为全球最大开源中间件供应商的JBoss加入红帽软件,巩固了红帽开源软件方案供应商的领头羊地位。当然JGroups作者Bela Ban同样也加入了红帽。在红帽软件良好生态系统的带动下,JGroups也得到了很好的发展,越来越多的开发者参与到JGroups项目, 时至今日,JGroups 有30多个版本的发布。基于JGroups 的 JBoss Cache产品在企业应用领域取得了很大成功,特别在中间件服务器或平台。基于JGroups的Infinispan是非常有战略性的产品,该产品能够为企业应用提供分布式数据网格、大数据、No-SQL等解决方案

  JGroups是一个开源的纯java编写的可靠的群组通讯工具。其是一个可靠的组播/多播通讯工具包(需要说明的是,这并不是说必须要使用IP Multicast,JGroups也可以使用TCP来实现)。其工作模式基于IP多播,但可以在可靠性和群组成员管理上进行扩展。其结构上设计灵活,提供了一种灵活兼容多种协议的协议栈。协议栈可以相互组合使用,用来适应不同产品的可靠性需求。这种协议栈可以让用户根据自己的应用的需求,定制适合自己的协议栈。JGroups可以用来创建一个组,这个组中的成员可以给其他成员发送消息或接收其他成员发出的消息。

  众所周知,网络多播传输没有纠错机制,发生丢包错包后难以弥补,并且多播通信易受网络环境的影响。JGroups设计的目的就是基于多播如何进行可靠的传输,JGroups通过接收者确认和发送者重发机制,能够确保对所有接收者的消息的无丢失传输。JGroups扩展了多播传输,消息分割和消息重组协议栈能够满足您发送任意大小的消息(100M)。JGroups消息能够顺序发送和接收,消息头可以包含很多确认策略,最大传输时间等,变于管理。

© 著作权归作者所有

东皇巴顿
粉丝 3
博文 56
码字总数 64914
作品 0
海淀
技术主管
私信 提问
bbossgroups 2.0-RC版本中如何通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用

bbossgroups 2.0-RC中对jgroups已经升级到Jgroups 2.10.0版本,因此对aop中基于JGroups的rpc也做了相应的调整,本文详细讲解新的使用方法: 1.配置文件目录调整: jgroups本身协议配置文件和...

bboss
2010/07/17
0
0
JGroups-3.4.6.Final 发布

JGroups-3.4.6.Final 发布了,官方找不到该版本的改进说明。源码下载地址: https://github.com/belaban/JGroups/releases/tag/JGroups-3.4.6.Final 二进制包下载: http://sourceforge.net...

oschina
2014/09/12
838
0
JGroups系列之介绍和体会

JGroups系列之介绍和体会 很早就想做这个JGroups系列,因为在分布式的系统中,各个部分经常需要相互通信。这些通信包括:信息需要同时发给集群中的某些或全部的worker;或者一个worker启动、...

引鸩怼孑
2015/07/28
127
1
JGroups 4.0.16 发布,Java 组播框架

JGroups 4.0.16 发布了,包含了一些重要的新特性和 bug 修复,具体如下: 在检测是否需要使用 IPv4 或 IPv6 地址方面提供了更好的机制。因此消除了使用 java.net.preferIPv4Stack 的需要(除...

局长
01/26
908
0
JGroups 3.5.0.Beta2 发布

JGroups 3.5.0.Beta2 发布了,官方没有发布改进说明。下载地址: https://github.com/belaban/JGroups/archive/JGroups-3.5.0.Beta2.zip JGroups是一个可靠的群组通讯Java工具包。它基于IP组...

oschina
2014/03/29
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
32分钟前
4
0
MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
52分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
今天
6
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
今天
7
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部