bbossgroups 2.0-RC版本中如何通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用

简介: bbossgroups 2.0-RC中对jgroups已经升级到Jgroups 2.10.0版本,因此对aop中基于JGroups的rpc也做了相应的调整,本文详细讲解新的使用方法: 1.配置文件目录调整: jgroups本身协议配置文件和存放目录(tcp,udp) /bbossaop/resources/org/frameworkset/spi/jgroups/jgroups-tcp.
bbossgroups 2.0-RC中对jgroups已经升级到Jgroups 2.10.0版本,因此对aop中基于JGroups的rpc也做了相应的调整,本文详细讲解新的使用方法:

1.配置文件目录调整:

jgroups本身协议配置文件和存放目录(tcp,udp)

/bbossaop/resources/org/frameworkset/spi/jgroups/jgroups-tcp.xml

/bbossaop/resources/org/frameworkset/spi/jgroups/jgroups-udp.xml

manager-rpc-service.xml中针对JGroups的相应配置为:

<!--
        jgroups集群协议配置
         -->
        <property name="cluster_name" value="Cluster"/>
        <property name="cluster_protocol" value="udp"/>
        <property name="cluster_protocol.tcp.configfile" value="org/frameworkset/spi/jgroups/jgroups-tcp.xml"/>
        <property name="cluster_protocol.udp.configfile" value="org/frameworkset/spi/jgroups/jgroups-udp.xml"/>


2.JGroups协议单独启动方法没有改变,还是以下的方法:

RPCHelper.getRPCHelper().startJGroupServer();
基于bboss开发的平台中启动jgroups的方法,manager-rpc-service.xml中的相关项做如下设置即可:
<property name="rpc.default.protocol"
      value="jgroup"/>
<property name="rpc.startup.protocols"
      value="jgroup"/>

<property name="rpc.security" >
<map>
<property name="rpc.login.module" enable="false" class="org.frameworkset.spi.security.SimpleLoginModule"/>
<property name="rpc.authority.module" enable="false" class="org.frameworkset.spi.security.SimpleAuthorityModule"/>
<property name="data.encrypt.module" enable="false" class="org.frameworkset.spi.security.SimpleEncryptModule"/>
</map>
</property>

每个节点应用的udp协议文件jgroups-udp.xml中的组播地址设置成一样的即可:
mcast_addr="232.10.10.10"
地址值可以根据需要进行修改。

3.客服端相关接口及使用方法

获取集群节点地址集合方法:

Vector<Address> addresses = JGroupHelper.getJGroupHelper().getAppservers();

获取远程服务组件方法:

    * 单播

Address address_ = addresses.get(0);

RPCTestInf testInf = (RPCTestInf)ApplicationContext.getApplicationContext().getBeanObject("(jgroup::" + address_ + ")/rpc.test");

调用远程方法:

Object value = testInf.getCount();

    * 多播

Address address_0 = addresses.get(0);

Address address_1 = addresses.get(1);

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

调用远程方法:

Object value = testInf.getCount();

获取address_0的结果:

Object ret_0 = BaseSPIManager.getRPCResult(address_0.toString(), value ,Target.BROADCAST_TYPE_JRGOUP);


获取address_1的结果:

Object ret_1 = BaseSPIManager.getRPCResult("address_1.toString(), ret,Target.BROADCAST_TYPE_JRGOUP);

    * 组播

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

调用远程方法:

Object value = testInf.getCount();

遍历所有结果:

       int size = BaseSPIManager.getRPCResultSize(ret);
        for(int j = 0; j < size; j ++)
        {
            Object ret = BaseSPIManager.getRPCResult(j, ret);
            System.out.println("ret:" + j + " = "+ret_1186);
        }
目录
相关文章
|
15天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
2月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
62 1
|
2月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
70 6
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
332 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
44 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
33 3
|
2月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
627 1
|
11天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
16天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
18天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。