springboot+zookeepr+dubbo的远程服务调用
创始人
2024-03-15 12:30:35
0

首先一定确保zookeeper正常工作

公共接口模块

为了简化代码,可以把需要其他服务调用的接口,抽取为公共接口模块dubbo-common-service,

public interface TestService {public String clientTest();
}

服务提供方

导入dubbo、zookeeper依赖

        org.apache.dubbodubbo-spring-boot-starter3.0.5org.apache.curatorcurator-framework5.2.0org.apache.curatorcurator-recipes5.2.0org.apache.curatorcurator-x-discovery5.2.0com.pshdubbo-common-service1.0

配置文件为:

server:port: 6610 #端口
dubbo:application:name: dubbo-client #别名registry:address: zookeeper://192.168.158.159:2181  #zookeeper 地址 + 端口timeout: 230000  # 如果zookeeper是放在远程服务器上超时时间请设置长一些,不然很容易超时连接失败protocol:port: 20881  # 不同服务使用不同端口,不然会报错name: dubbo

提供方实现接口并暴露服务,在接口实现类增加@DubboService

@DubboService
public class ClientServiceImpl implements TestService {@Overridepublic String clientTest() {return "远程调用成功";}
}

启动类加上@EnableDubbo

@EnableDubbo
@SpringBootApplication
public class DubboApplicationClient {public static void main(String[] args) {SpringApplication.run(DubboApplicationClient.class);}
}

接口调用方

        org.apache.dubbodubbo-spring-boot-starter3.0.5org.apache.curatorcurator-framework5.2.0org.apache.curatorcurator-recipes5.2.0org.apache.curatorcurator-x-discovery5.2.0com.pshdubbo-common-service1.0
server:port: 6620dubbo:application:name: dubbo-client #别名registry:address: zookeeper://192.168.158.159:2181  #zookeeper 地址 + 端口timeout: 230000  # 如果zookeeper是放在远程服务器上超时时间请设置长一些,不然很容易超时连接失败protocol:port: 20882  # 不同服务使用不同端口,不然会报错name: dubbo

启动类

@EnableDubbo
@SpringBootApplication
public class DubboApplicationServer {public static void main(String[] args) {SpringApplication.run(DubboApplicationServer.class);}
}

controller接口

@RestController
public class DubooServerApplication {@Autowiredprivate ServerService serverService;@GetMapping("/test")public String test(String name){return serverService.serverTest(name);}}

通过本服务的Service 来远程调用接口

public interface ServerService {public String serverTest(String name) ;
}
@Service
public class ServerServiceImpl implements ServerService {@DubboReferenceprivate TestService testService;public String serverTest(String name) {return "返回结果为:"+testService.clientTest()+",参数为:"+name;}}

访问controller接口,得到:
请添加图片描述

远程调用成功

相关内容

热门资讯

准确适用法律,有效震慑“职业闭... 据媒体报道,上海市公安局经侦总队近日牵头侦破一起新型“职业闭店人”合同诈骗案,抓获顾某、韩某等4名犯...
男子分居期间贷款32.5万元买... 12月24日,记者从新疆法治报获悉:近日塔城地区中级人民法院审结了一起案件,明确表明车贷因未用于共同...
盛路通信(002446)披露与... 截至2025年12月25日收盘,盛路通信(002446)报收于10.75元,较前一交易日上涨10.0...
德州新华书店组织专题研讨 深入... 大众网记者 张冉 通讯员 李晓腾 德州报道 近日,德州新华书店组织召开全民阅读相关政策专题研讨交流会...
阿尔及利亚立法认定“法国殖民是... 阿尔及利亚国民议会(众议院)24日晚表决通过法案,将法国对这个非洲国家曾经的殖民统治定性为“犯罪”,...
专访鲁政委:结构性货币政策工具... 2025年,站在“十四五”收官与“十五五”规划谋篇的历史衔接点上,中国经济在多重变局中展现出韧性,金...
广末凉子有望明年复出!曾飙速1... 搜狐娱乐讯 据日媒,广末凉子有望明年正式复出,相关人士称她一直很规矩,会向各界发邮件汇报近况,“这次...
浙江东日(600113)发布投... 截至2025年12月25日收盘,浙江东日(600113)报收于67.29元,较前一交易日上涨4.34...
广电网络:近12个月累计诉讼及... 中证智能财讯 广电网络(600831)12月25日晚间发布累计诉讼、仲裁情况公告,近十二个月内,公司...
封关后第一批!198公斤椰子油... 12月23日,海南保亭黎族苗族自治县一家食品企业生产的198公斤初榨椰子油,通过海口新海港和南港“二...