阅读更多

14顶
1踩

企业架构

近日,Bela Ban发布了JGroups 2.8.0 GA版本!JGroups是一个可靠的组播通讯工具集(需要说明的是,这并不是说必须要使用IP Multicast,JGroups也可以使用TCP来实现)。JGroups可以用来创建一个组,这个组中的成员可以给其他成员发送消息。

2.8.0版本的部分特性:

  • 使用merging取代了shunning
  • 对IPv6更好的支持
  • 对默认地址更好的支持
  • 在他能够以的堆栈中相同的类可使用多protocol
  • 对UNICAST的改进
  • 为protocol配置提供XSD schema


点击查看详细更新文档:http://www.jboss.org/feeds/post/jgroups_2_8_0_ga_released

JGroups使用灵活的协议栈,这也是JGroups最强大(the most powerful)的功能,它允许开发人员配置协议栈来适用于他们自己的应用需求和网络特征。这样做的好处在于,开发人员只需要关注他们使用到的协议。通过组合和匹配各种协议来满足各种不同应用的需求。

 JGroups的主要功能如下:

1)创建和删除组,组成员可以分布在局域网或广域网中。
2)组成员加入和离开组
3)成员关系的自动侦测并通知成员的加入,离开和丢失(原文是crashed,大意就是说没有通知的离开吧)
4)侦测并删除丢失的成员
5)发送和接收成员到组的消息(点到多点)
6)发送和接收成员到成员的消息(点到点)

JGroups 适合使用场合

  • 服务器集群cluster、
  • 多服务器通讯、
  • 服务器replication(复制)、
  • 分布式cache缓存等

 

  • 大小: 17.3 KB
来自: jboss
14
1
评论 共 7 条 请登录后发表评论
7 楼 yin_bp 2010-03-23 13:54
有空看看开源bbossgroups项目中基于jgroups协议的rpc调用框架 (jgroups版本 2.8.0 GA)
很实用也很简单:
1.客服端和服务端配置以下组件(基于bboss-aop框架):
<property name="rpc.test" singlable="true" class="org.frameworkset.spi.remote.RPCTest"/>
2.获取远程组件实例
         单点调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::172.16.17.216:1186)/rpc.test");

         多点调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::192.168.11.102:1186;192.168.11.102:12346)/rpc.test");

         组播调用

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::all)/rpc.test");



         单点调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::172.16.17.216:1186)/rpc.test?user=admin&password=123456");

         多点调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::192.168.11.102:1186;192.168.11.102:12346)/rpc.test?user=admin&password=123456");

         组播调用-传递认证信息

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::all)/rpc.test?user=admin&password=123456");


2.远程方法调用
Object count = testInf.getCount();

3.调用结果处理
单点调用的结果就是服务接口返回的值,无需处理。如果方法调用失败,系统将抛出具体的远程异常。

多点调用和组播调用的结果处理方法一样,以多点调用为例:

RPCTestInf testInf = (RPCTestInf)BaseSPIManager.getBeanObject("(jgroup::192.168.11.102:1186;192.168.11.102:12346)/rpc.test?User=admin&password=123456");

Object count = testInf.getCount();

获取192.168.11.102:1186返回的结果:

Object count_1186 = BaseSPIManager.getRPCResult("192.168.11.102", "1186", count);如果返回值是异常,那么直接抛出该异常。

或者

Object count_1186 = BaseSPIManager. getJGroupRPCResult

("192.168.11.102:1186", count);如果返回值是异常,那么直接抛出该异常。

或者

Object count_1186 =

    BaseSPIManager.getRPCResult("192.168.11.102:1186", count,

org.frameworkset.remote.Target.BROADCAST_TYPE_JRGOUP);  如果返回值是异常,那么直接抛出该异常。

获取192.168.11.102:12346返回的结果:

Object count_12346 = BaseSPIManager.getRPCResult("192.168.11.102", "12346", count); 如果返回值是异常,那么直接抛出该异常。

或者

Object count_12346 = BaseSPIManager. getJGroupRPCResult

("192.168.11.102:12346", count);

或者

Object count_12346 =

    BaseSPIManager.getRPCResult("192.168.11.102:12346", count,

org.frameworkset.remote.Target.BROADCAST_TYPE_JRGOUP);  如果返回值是异常,那么直接抛出该异常。

很简单吧
详细信息参考博客文章:
http://blog.csdn.net/yin_bp/archive/2010/03/20/5398418.aspx
bbossgroups项目下载地址:
https://sourceforge.net/projects/bboss/files/
6 楼 haizai219 2010-02-03 11:55
jgroup确实是个好东西啊!
5 楼 vvggsky 2009-12-23 10:30
tomcat 也是,oscache也是
4 楼 steeven 2009-12-23 00:08
JBoss cluster也是基于这玩意, 有空好好研究一下.
3 楼 linliangyi2007 2009-12-22 23:25
JGroup是好东西啊,JbossCache就是使用这个东东的
2 楼 gexp.fang 2009-12-22 21:38
对IPv6的支持很重要,测试下,之前版本出这个问题浪费好长时间查找原因
1 楼 gqf2008 2009-12-22 18:06
ReplCache很不错

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Struts 1 配置与调用过程详解

    通过正确配置 web.xml、struts-config.xml,并编写相应的 Action 类、表单 Bean 和 JSP 视图,您可以使用 Struts 1 开发结构化的 Web 应用程序。上述配置示例中,我们定义了一个名为 “myForm” 的表单 Bean,并将它与路径为 “/hello” 的 Action 进行关联。例如,如果您在配置中将路径为 “/hello” 的 Action 映射到了 “HelloAction” 类,那么您可以通过访问 “/hello.do” 来调用该 Action。

  • java 判断两个文件是否相同

    NULL 博文链接:https://hw1287789687.iteye.com/blog/1827988

  • Struts1.1 介绍

    前一段时间好象有人问关于Struts的事情,本人留意了一下.请有兴趣的同志不防研究研究. (1) 1. 介绍 1.1 Model-View-Controller (MVC) 设计模式 FIXME - 需要一个对该模式一般性的介绍。(译注:可以参考机械工业出版社的《设计模式》。)   1.2 将MVC概念映射到Struts组件中 Struts 的体系结构实现了Model-View-Controlle

  • Structs1配置文件 详解+示例

    详解:   是struts的根元素,它主要有8个子元素,DTD定义如下:     (data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)    >    以上8个元素,下面一一描述:    1. d

  • Struts2.0的概述,总体总结

    Struts2.0的概述,总体总结 [code] 一.Struts2.0的产生的背景 在Struts 1中设计中,虽然体现了MVC架构的的思想,并且以强有力的功能轰动一时,是jsp革新的里程碑,但 也存在着多种缺陷,从而导致了Struts2.0的诞生。 缺陷: 1.支持的表现层技术单一 Struts 1只支持JSP作为表现层技术,不提供与其他表现层技术,例如Veloci...

  • Struts在Tomcat中的安装配置及工作流程

    Struts在Tomcat中的安装配置及工作流程 1.准备工作       安装JDK及Tomcat,并分别设置环境变量:JAVA_HOME、CLASSPATH、COMCAT_HOME,并确保Tomcat已正常工作。本文以jdk1.5和Tomcat5.5.12为环境介绍Struts在Tomcat中的安装及工作流程。 2.安装Struts(通过二进制发布包安装)  2.1下载Struts

  • Struts1的工作流程

    Struts1的工作流程图如下所示:其工作流程如下: 当Web服务器启动的时候,根据web.xml文件加载并初始化ActionServlet,根据配置ActionServlet的config参数信息,确定struts-config.xml配置文件存放的位置,并根据Servlet映射配置确定其拦截处理的URL,例如,拦截请求的后缀是.do的UR。根据struts-config.xml中的配置信息,为s

  • J2EE学习篇之--Struts1详解

    今天来看一下Struts1的相关知识,其实Struts现在是出名的,每个Web开发者都会知道的,也是现在比较流行的框架,下面就来看一下我们为什么要用Struts框架呢? 摘要 1.建立在mvc这种好的模式上的,Struts在m,v,c上都有涉及,但主要的是提供一个好的控制器和一套定制的标签库上也就是说它在这里体现在c和v上,有mvc的一系列的优点,如:结构层次分明,高重用性,增加了程序的健...

  • [转载]深入理解Struts 1.1及应用开发实例解析

    深入理解Struts 1.1及应用开发实例解析作为基于MVC模式的Web应用最经典框架,Struts已经正式推出了1.1版本,该版本在以往版本的基础上,提供了许多激动人心的新功能。本文就将带你走进Struts1.1去深入地了解这...

  • struts1与struts2的区别

    Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点:MVC 2模型的使用、功能齐全的标签库(Tag Library)、开放源代码。但是,正所谓“没有最好,只有更好”,Struts1.x自身也有不少的缺点:需要编写的代码过多,容易引起“类爆炸”、单元测试困难。这些缺点随着Web的发展越来越明显。这就促生了St...

  • struts1.x入门

    一 、第一个应用实例 1.简要介绍 Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Structs 框架的核心是一个弹性的控制层, Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。MVC:它除了能在C层发挥巨大的作用...

  • java 连接sqlserver_java连接sqlserver报错

    使用Java进行项目开发,一般是使用MySQL数据库,由于项目需要本次换成了SQLServer数据库,在eclipse中进行连接测试时驱动类、URL地址、用户名和密码都正确,但是会抛出以下异常,无法正确连接到SQLServer数据库com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host l...

  • struts2 struts2.0.9 最全包下载

    struts2 struts2.0.9 包下载 挺全的 要用哪个自己挑

  • struts1、spring、hibernate整合配置要点

    1)spring中管理hibernate事务(用spring配置hibernate,hibernate.cfg.xml可有可无) 2)spring将SessionFactory的初始化工作交给web服务器

  • javcascript 手写 日历

    效果图: html: &amp;amp;lt;div class=&amp;quot;calendar_box calendar&amp;quot; id=&amp;quot;calendar&amp;quot; &amp;amp;gt; &amp;amp;lt;dl class=&amp;quot;dateItem&amp;quot;&amp;amp;gt; &amp;amp;lt;dt class=&amp;quot;monthD

  • ASP.NET

    参考自 w3school    ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript以及服务器脚本来构建网页和网站。 ASP.NET 支持三种开发模式: WebPages    MVC              Web Forms 单页面模型    模型视图控制器    事件驱动模型     WebPages 最简单的 ASP.NET 模型。 类似

Global site tag (gtag.js) - Google Analytics