Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。--(摘自《百度百科》)
演示远程调用和服务自动注册和和发现。首先demo结构如图所示:
dubbo-api module提供接口服务,dubbo-consumer module是消费者,dubbo-provider module是服务提供者,dubbo-consumer和dubbo-provider同时依赖于dubbo-appi.
(相关资料图)
dubbo-api module仅仅提供接口,没有其他逻辑。
dubbo-api的pom.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.12 com.mike.study dubbo-api 0.0.1 dubbo-api Demo project for Spring Boot 8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
接口类UserService,设定一个login的方法。
import com.mike.study.domain.UserInfo;public interface UserService { UserInfo login(UserInfo userInfo);}
同时,方便统一管理对象,设定demain.UserInfo类, 由于实体类是要在网上传输,所以实体类是需要继承Serializable接口,否则会报错。
import java.io.Serializable;public class UserInfo implements Serializable { private String account; private String password; public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
至此,api module已经准备完毕。接下来创建provider,提供服务并且注册到zookeeper上。所以要事先准备好zookeeper,参考网上资料,这里不展开介绍安装教程。
dubbo-provider的pom.xml需要引入zookeeper和dubbo相关依赖。
4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.12 com.mike.study dubbo-provider 0.0.1 dubbo-provider Demo project for Spring Boot 8 org.springframework.boot spring-boot-starter-web com.mike.study dubbo-api 0.0.1 com.alibaba.spring.boot dubbo-spring-boot-starter 2.0.0 com.101tec zkclient 0.10 org.apache.zookeeper zookeeper 3.4.10 org.slf4j slf4j-log4j12 log4j log4j org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
配置application.yml文件,设置好zookeeper的地址,dubbo框架会把服务自动注册到zookeeper上,避免同时启动会和consumer的端口有冲突,需要设定provider的端口为8081。
1 spring: 2 dubbo: 3 application: 4 name: dubbo-provider 5 protocol: 6 name: dubbo 7 port: 20880 8 registry: 9 address: zookeeper://127.0.0.1:218110 server:11 port: 8081
接下来,实现服务的逻辑,这里简单修改下user信息后直接返回出去。
1 import com.alibaba.dubbo.config.annotation.Service; 2 import com.mike.study.api.UserService; 3 import com.mike.study.domain.UserInfo; 4 import org.springframework.stereotype.Component; 5 6 @Component 7 @Service 8 public class UserServiceImpl implements UserService { 9 @Override10 public UserInfo login(UserInfo userInfo) {11 UserInfo reUser = new UserInfo();12 reUser.setAccount("账号:"+ userInfo.getAccount());13 reUser.setPassword("密码:"+ userInfo.getPassword());14 15 return reUser;16 }17 }
这里用到了2个注解,@Component将当前类交给springboot容器管理,@Service是dubbo的注解,将接口注册到zookeeper上供订阅者使用。
注意,上面注解外,还需要在启动类添加注解来启动dubbo自动配置。
1 import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration; 2 import org.springframework.boot.SpringApplication; 3 import org.springframework.boot.autoconfigure.SpringBootApplication; 4 import org.springframework.context.ConfigurableApplicationContext; 5 6 @SpringBootApplication 7 @EnableDubboConfiguration // 启用dubbo自动配置 8 public class DubboProviderApplication { 9 10 public static void main(String[] args) {11 ConfigurableApplicationContext12 context = SpringApplication.run(DubboProviderApplication.class, args);13 }14 15 }
自此,provider也准备好,最后看consumer如何消费服务。
dubbo-consumer由于是要冲zookeeper上拿到接口,所以也要引入zookeeper等相关依赖。
1 24 4.0.0 56 11org.springframework.boot 7spring-boot-starter-parent 82.7.12 910 com.mike.study 12dubbo-consumer 130.0.1-SNAPSHOT 14dubbo-consumer 15Demo project for Spring Boot 1617 198 1820 65 6621 24 25org.springframework.boot 22spring-boot-starter-web 2326 30 31com.mike.study 27dubbo-api 280.0.1 2932 36 37com.alibaba.spring.boot 33dubbo-spring-boot-starter 342.0.0 3538 42 43com.101tec 39zkclient 400.10 4144 58 59org.apache.zookeeper 45zookeeper 463.4.10 4748 5749 52org.slf4j 50slf4j-log4j12 5153 56log4j 54log4j 5560 64org.springframework.boot 61spring-boot-starter-test 62test 6367 74 7568 7369 72org.springframework.boot 70spring-boot-maven-plugin 71
同样配置application.yml,指定zookeeper和服务端口。
1 spring: 2 dubbo: 3 application: 4 name: dubbo-consumer 5 protocol: 6 name: dubbo 7 port: 20880 8 registry: 9 address: zookeeper://127.0.0.1:218110 server:11 port: 8082
添加一个controller层用来调用UserService服务,添加 @Reference注解拿到provider的远程接口。
1 import com.alibaba.dubbo.config.annotation.Reference; 2 import com.mike.study.api.UserService; 3 import com.mike.study.domain.UserInfo; 4 import org.springframework.web.bind.annotation.GetMapping; 5 import org.springframework.web.bind.annotation.RestController; 6 7 8 @RestController 9 public class UserController {10 @Reference11 UserService userService;12 13 @GetMapping("/login")14 public UserInfo login(UserInfo userInfo){15 UserInfo result = userService.login(userInfo);16 return result;17 }18 }
同样,consumer也要启动dubbo的自动配置。
1 import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration; 2 import org.springframework.boot.SpringApplication; 3 import org.springframework.boot.autoconfigure.SpringBootApplication; 4 5 @SpringBootApplication 6 @EnableDubboConfiguration 7 public class DubboConsumerApplication { 8 9 public static void main(String[] args) {10 SpringApplication.run(DubboConsumerApplication.class, args);11 }12 13 }
依次跑起zookeeper,provider服务,consumer服务。查看zookeeper的节点,可以看到,consumer和provider节点。
在浏览器上访问consumer:http://localhost:8082/login?account=test&password=123,效果如下
标签:
上一篇 : 手摇手电筒什么牌子好_手电筒什么牌子的好 世界热门
下一篇 : 最后一页
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能
05-25 01:55:57
1、要说起最好的强光手电品牌,那真是每个人的看法各不一样,这个没有定论,最好的手电品牌就像一千个人看
05-25 00:56:35
正当“南宁市慧泊停车”引发一场舆情关注之际,不少三水市民向广州日报反映,在佛山市三水人民医院停车...
05-24 23:52:52
周三,图森未来(TSP US)股价走高,截至发稿,该股涨近7%,报2 069美元,成交量超过235万。在过去的52周内,
05-24 23:42:38
*ST金山5月24日收上交所年报问询函,年报显示,公司2022年归母净利润-20 18亿元,扣非净利润多年为负,归母
05-24 22:25:00
监管者选择追击佣兵并击倒,古董商救下佣兵。求生者WBG战队——Ban:红夫人Pick:WBG_Long昆虫学者WBG_iron
05-24 21:36:05
高碑店市气象台2023年05月24日11时43分发布大风蓝色预警信号:受蒙古气旋影响,预计今天白天到夜间,我市全
05-24 21:31:44
没有计算机一级a的说法,只有一级MSOffice、一级B,两者大部分是相同的,唯一一个不同的地方就是一级B少了P
05-24 20:41:29
抄写作文网小编为大家提供语文古诗朗读有哪些古诗词朗诵有那些形式??来供大家参考,欢迎阅读。古诗怎样朗读
05-24 19:29:15
想必现在有很多小伙伴对于异端裁判所方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于异
05-24 18:36:52
实现“双碳”目标,能源是“主战场”,电池储能是一种实现绿低碳最为行之有效的办法,电池储能市场也迎...
05-24 17:35:16
三分栽种七分管,稳产增收有保障。初夏时节,贵州省岑巩县凯本镇龙塘河村的李子基地满目青翠,集中连片的李
05-24 16:49:18
中新经纬5月24日电(董湘依付健青)24日早盘,机器人概念延续火热行情,赛摩智能20CM涨停,丰立智能六个交
05-24 16:46:01
中国日报网5月23日电《纽约时报》近日发表了一篇题为《为何美国最高法院对自己的腐败视而不见》的文章,作
05-24 15:23:27
三一维保千千问:液压油过热怎么办?,液压系统是起重机的核心系统,液压系统出现问题将直接影响到设备的作
05-24 14:49:36
10+秒,AIGC炸出抖音小红书爆款!国产FashionDiffusion颠覆时尚行业
05-24 14:22:58
1、为考大学做准备 学习要安排一个简单可行的计划,改善学习方法 同时也要适当参加学校的活动,全面发展 在
05-24 13:26:52
当前,公交行业发展面临客运量下降、财政补贴紧张等新环境、新挑战,应以提升客流效益、助力企业解决实际问
05-24 12:44:05
本网讯5月20日,新疆兵团第七师125团农广校组织2020级、2021级和2022级70名学员开展了田间实践教学活动,在
05-24 12:13:10
南京水务集团在调查研究中查找问题解决问题井盖创新小改造,维修费用省九成□南京日报 紫金山新闻记者顾小
05-24 11:21:34
正值求职季,高校毕业生即将走向职场,开启人生新篇章。但一些不法分子专挑涉世未深的毕业生求职者进行
05-24 10:17:19
最近,部分医疗机构儿科发热门诊患者增多,很多孩子都感染了呼吸道合胞病毒。呼吸道合胞病毒有什么危害?它
05-24 09:41:37
1、意思就是没有录取。2、 投档是录取的第一步,高校录取一般有四步投档,即把符合该院校招生分数条件的
05-24 08:49:11
实习生郑欣宜中青报·中青网记者谢宛霏 传球、接球、运球、起跳、投篮一气呵成,当球在空中划过一道弧...
05-24 08:10:23
罗梅罗:巴萨认为,孔德说不想踢右后卫是经纪人想谈加薪的手段,孔德,哈维,巴萨,谈加薪,杰拉德,巴塞罗那队,
05-24 07:07:09
1、其实是有用的,不过如果你的装备太差,怪的攻击力又太大所以你打他不出血,而且用了无敌也没什么用,那无敌
05-24 06:05:22
1、这是中国古代神话里的角色。2、你搜一搜洪荒时期的小说吧。3、估计应该会有。本文为大家分享到这里,希
05-24 05:01:50
1、问友要求是50字吖,如下:1917年,伟大的革命祖师列宁领导人民在俄罗斯取得革命胜利,小孩子每天戴着红
05-24 02:33:17
1、:1 可以使用网格图案填充 2 画两根互相垂直的直线段。2、分别阵列到你要数量。3、形成方格网。本文就为
05-24 01:15:23
今天,大学路小编为大家带来了湖北高职单招院校排名湖北单招学校排名,希望能帮助到广大考生和家长,一起来
05-24 00:47:58
1、服务对象:XXX社区服务时间:2 15--2 21服务项目:清洁小区服务地点:XXX社区个人所做的主要任务工作及
05-23 23:52:54
新闻发布会现场。广西日报-广西云客户端记者胡戴炜摄5月23日,南宁市举行新闻发布会,就近期广大市民和网友
05-23 22:53:22
对于武汉三镇对阿齐兹以及两名俱乐部管理层分别做出的1美元、100元、50元处罚,记者宋承良拿一桩当年的往事
05-23 22:20:39
智通财经APP讯易瑞生物300942SZ公告公司2022年度权益分派拟向全体股东每10股派02120元含税除权除息日为2023年5月31日
05-23 21:44:57
交易商品牌 产地交货地最新报价高效混凝土减水剂 萘系高效减水剂固含量≥91河南赛腾环保科技有限公司山东
05-23 20:26:09
1、天津医科大学天津医学高等专科学校天津中医药大学(中医学院)。本文到此分享完毕,希望对你有所帮助。
05-23 19:29:41
1、PC_流量包_网上购物_淘宝首页焦点图----520x28081KPC_流量包_网上购物_天猫首页焦点图----1
05-23 18:49:59
2023年高考志愿模拟填报流程:登录指定网络→输入用户名和密码→阅读说明→修改初始密码→选择志愿批次→查
05-23 18:36:17
半岛网欢迎您积极举报我平台已发布的各类违法不良信息。您可拨打电话:0532-80889370,或发送邮件到举报邮
05-23 17:35:22
2023年5月20日,第29届全国科技活动周主场活动暨北京科技周在北京启动。本届北京科技周以“热爱科学崇尚科
05-23 17:11:39
央广网北京5月23日消息日前,抖音发布《2023年第一季度安全治理透明度报告》(以下简称《报告》)。《报告
05-23 15:48:20
长江日报大武汉客户端5月23日讯(记者晋晓慧李文婕)夏天,来东湖这样过!5月23日,长江日报创刊74周年武汉
05-23 15:10:28
相关概念股一览!详情
05-23 14:37:09
5月22日,在意大利威尼斯,观众在2023年威尼斯国际建筑双年展中国国家馆参观。2023年威尼斯国际建筑双年展
05-23 13:46:28
5月20日,北京市交通委员会、北京市公安局公安交通管理局发布《关于优化公交专用车道通行管理措施的通告》
05-23 13:08:34
今天来聊聊关于找做饭钟点工,附近中午做饭钟点工的文章,现在就为大家来简单介绍下找做饭钟点工,附近中午
05-23 12:14:26
上证报中国证券网讯5月23日,电魂网络公布杭州亚运会电子竞技(梦三国2项目)集训队候选名单。公司按照《关
05-23 11:33:47
本期小编不和大家讨论钢铁侠,就和大家聊一聊我们最熟悉的英雄蜘蛛侠,估计很多朋友都把这只小蜘蛛定位错了
05-23 10:53:50
这个夏日,大众网潜心打造、科龙空调倾情赞助的核心音乐IP新青年音乐节再度登陆潍坊。说起音乐节,当代年轻人
05-23 10:15:53
北京时间5月23日,德班世乒赛的赛程进入到白热化的阶段,经过了各个单项第一轮的比赛竞争之后,赛程不断深
05-23 09:23:08
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能
2023-05-25
1、要说起最好的强光手电品牌,那真是每个人的看法各不一样,这个没有定论,最好的手电品牌就像一千个人看
2023-05-25
正当“南宁市慧泊停车”引发一场舆情关注之际,不少三水市民向广州日报反映,在佛山市三水人民医院停车...
2023-05-24
周三,图森未来(TSP US)股价走高,截至发稿,该股涨近7%,报2 069美元,成交量超过235万。在过去的52周内,
2023-05-24
*ST金山5月24日收上交所年报问询函,年报显示,公司2022年归母净利润-20 18亿元,扣非净利润多年为负,归母
2023-05-24
1月31日,记者从深圳市地方金融监督管理局获悉,作为深圳重要的支柱产业之一,2022年深圳金融业增加值达...
8月28日,记者了解到,为保障市场物价平稳运行,根据近期疫情防控形势,沈阳市市场监管局密切关注市场价...
近日,从海带中制造环保纱线的材料创新者AlgiKnit宣布获得1300万美元(8735 6万元)的A轮融资,以通过加...
概念特点1、 定义:纤维是天然或人工合成的细丝状物质,纺织纤维则是指用来纺织布的纤维。2、 纺织纤...
中新网西宁11月21日电 题:青海水润高原:从“大动脉”到“毛细血管”的精准管理 作者 谈林明...
Copyright © 2015-2032 华西纤维网版权所有 备案号:京ICP备2022016840号-35 联系邮箱: 920 891 263@qq.com