最新要闻
- 中国驻洛杉矶总领馆提醒中国公民防范电信诈骗
- 世界热推荐:小米机皇赢麻了!13 Ultra京东好评率超过99%
- 纯白千层镜!影驰RTX 4060 Ti 8GB星曜OC图赏
- 员工每天带薪上厕所3至6小时被解雇:法院判了 环球热闻
- 【天天快播报】618首销第一天Redmi霸占预售榜前三名 卢伟冰:孤独
- 这对中意“姐妹”世界遗产地 共话生态保护_世界微动态
- 韩一季度总和生育率0.81 创历年同期最低
- 天天讯息:2149元太香了!AMD RX 7600正式发布:最高提速55%
- 硬刚RTX 4060!AMD RX 7600图赏|世界新视野
- 焦点热议:两对情侣因争位置在迪士尼起冲突:双方已调解
- 老外吐槽RTX 4060 Ti/RX 7600:2023年了 2000多元还是1080P游戏显卡
- 天天看热讯:白色机身玩趣十足!索泰RTX 4060 Ti X-GAMING显卡图赏
- 辽宁沈阳一老人乘坐地铁禁止周边人玩手机 称辐射会导致自己眼睛模糊
- 《闪电侠》电影曝光IMAX和杜比影院海报 继续由埃兹拉·米勒饰演
- 电影《速度与激情10》上映7天 总票房破6亿,
- 杨紫琼主演《西游ABC》现已正式播出 为迪士尼+原创奇幻动作喜剧
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Dubbo实践-全球热推荐
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实践-全球热推荐
GPT-4通过了waitlist,私信爆了!
全球今日讯!10-阻塞赋值和非阻塞赋值
中国驻洛杉矶总领馆提醒中国公民防范电信诈骗
世界热推荐:小米机皇赢麻了!13 Ultra京东好评率超过99%
纯白千层镜!影驰RTX 4060 Ti 8GB星曜OC图赏
员工每天带薪上厕所3至6小时被解雇:法院判了 环球热闻
【天天快播报】618首销第一天Redmi霸占预售榜前三名 卢伟冰:孤独
精彩看点:Java设计模式-享元模式
这对中意“姐妹”世界遗产地 共话生态保护_世界微动态
多地加快推进基础设施工程建设
韩一季度总和生育率0.81 创历年同期最低
天天讯息:2149元太香了!AMD RX 7600正式发布:最高提速55%
硬刚RTX 4060!AMD RX 7600图赏|世界新视野
焦点热议:两对情侣因争位置在迪士尼起冲突:双方已调解
老外吐槽RTX 4060 Ti/RX 7600:2023年了 2000多元还是1080P游戏显卡
天天看热讯:白色机身玩趣十足!索泰RTX 4060 Ti X-GAMING显卡图赏
辽宁沈阳一老人乘坐地铁禁止周边人玩手机 称辐射会导致自己眼睛模糊
《闪电侠》电影曝光IMAX和杜比影院海报 继续由埃兹拉·米勒饰演
电影《速度与激情10》上映7天 总票房破6亿,
杨紫琼主演《西游ABC》现已正式播出 为迪士尼+原创奇幻动作喜剧
游客意外掉到野生大黄鱼 在阳光照耀下十分耀眼
徐克导演《射雕英雄传侠之大者》获得2023重点档期推荐影片 由肖战主演
为进一步激活汽车消费 宁波市实施社会车辆提前淘汰财政奖励补贴
杭州一宝妈因网红穿着产生不满 担心对孩子的心理产生不良影响
网易于多伦多和蒙特利尔成立新的游戏工作室 将开发首款开放世界游戏
马斯克称自己的时间管理安排非常困难 现已确定一位接班人
环球今热点:押上一切声誉!小米汽车2024年量产 雷军:今年一季度投入11亿
营收大跌45.9% 小鹏汽车1季度财报公布 CEO放豪言:G6将成爆款
出现重大风险至股价大幅下跌?科大讯飞:谣言 AI“搞的” 今日观点
支持录音实时转写!讯飞录音降噪会议耳机iFLYBUDS Nano+图赏
累计已发21版驱动!Intel:Arc显卡将持续针对DX9/11/12优化
上海沿浦最新公告:拟定增募资不超过3.9亿元-天天讯息
c#中用System.Diagnostics.Process.Start(Path.GetFullPath(“vlc.exe.lnk“), url);用vlc的
Java 创建/识别条形码
前沿资讯!3DS在线商店关闭后:任天堂新补丁堵死破解可能
甲醇汽车:想说爱你 却怕“中毒”!这四点无解
捷克开发者新技术:改变游戏/电影种族 让黑人变白人_全球快看点
全球视讯!金光灿灿真耀眼!游客钓上野生大黄鱼:市场价过万元
今日观点!1899元 米家智能跑步机上架:降噪无刷电机、全跑道设计
又什么又什么的词语大全 又什么又什么的词语
焦点速讯:会话控制
2023年5月24日正己酸价格最新行情预测|时讯
环球快看:小米组建AI实验室大模型团队:AI领域人员已超1200人
大的要来了!国产3A大作《黑神话:悟空》官方B站上号|世界时讯
天天热点评!多品牌多口味正大促! 真真老老地道嘉兴肉粽:四枚9.9元
每日时讯!浙江宁波老旧车辆淘汰补贴:单车最高可补5.7万元
小米13系列成了!在安卓4000-5000价位份额第一名
小花猪Ai绘画!粉红色的回忆,粉红色的我!记忆有你也有我! 热消息
天天精选!功能安全、预期功能安全与信息安全的差异与协同
智慧黄河:实现流域智能化管理的关键一步|环球报资讯
全球实时:记录--按钮级别权限怎么控制
全球观点:债市日报:5月24日
弘扬绿色健康饮食文化-热闻
天天信息:热搜第二!网友月薪5000两年存了8万元:分享7个实用存钱技巧
卖一个赚46块!激光雷达首次盈利 禾赛科技:感谢理想 世界时讯
实时:清新口气 有效抑菌!纳美亮白牙膏:6支仅14.9元
里程碑!小米宣布:MIUI全球月活用户突破6亿
环球新资讯:距离月面10米失联!NASA:日本登月失败登月舱残骸或找到
未能封送类型,因为嵌入数组实例的长度与布局中声明的长度不匹配 全球微头条
理解JS中的Promise
一步步完整搭建一个图纸管理系统(Django+Vue3)
【MyBatis】saveBatch 性能调优|即时焦点
世界观点:被曝北约考虑在日设联络处后,岸田宣称日本没有加入北约计划
苦等几十年!Windows终于原生支持rar、7z等格式压缩文件了|全球视点
车标贴满全身!梅赛德斯-迈巴赫Night Series官图发布:真奢华
【全球聚看点】699元 联想YOGA K7机械键盘上架:82键矮轴 真空电镀工艺
AI网聊10分钟被骗430万 中国互联网协会给出防范建议
环球今头条!国内多航司现千元内国际机票 上海直飞日本仅600元
西部决赛:掘金淘汰洛杉矶湖人的背后,藏着多少鲜为人知的秘密-热消息
es之增删改查 每日播报
顶象全新金融业务安全方案,亮相亚太银行数字化峰会
Java开启异步的两种方式
Python文件读写、StringIO和BytesIO_每日速看
动态:Ruby教程_编程入门自学教程_菜鸟教程-免费教程分享
【环球新要闻】【新华500】新华500指数(989001)24日下跌1.28%
安卓不再清后台 OPPO Reno10系列用上16GB大内存:48个月流畅
Find系列同款!OPPO Reno10 Pro搭载动态光影屏:120Hz高刷
视点!不怕别人超越!“比亚迪魔方”储能系统发布:首搭刀片电池
环球新消息丨349元 OPPO Enco R2耳机发布:Hi-Fi级处理芯片
支付宝提醒“学生账户升级”骗局:没有学生/成人账户概念!
焦点快播:Spring Boot 我随手封装了一个万能的 Excel 导出工具,传什么都能导出!
火山引擎DataLeap联合DataFun发布《数据治理知识地图》_世界新消息
当前要闻:推荐一个AI导航网站 - 收录的都是热门AI工具
社区工作者感受垃圾分类处理全过程
北京西京医院杨博华_北京西京医院
64核CPU、显卡三连冠 AMD超算屠榜:唯一一台百亿亿次
国产SSD卷疯了!梵想S500 Pro 2TB只要409元 观天下
最轻薄潜望手机!OPPO Reno10 Pro+亮相
当前关注:搭载4.0L水平对置发动机 300万的保时捷中国开卖:但不能上路
淮北建投20亿元公司债将付息 利率6.30%
springboot~mybatis-plus的DynamicTableNameInnerInterceptor实现分表
用上3.0T直六发动机!马自达旗舰CX-90现身:今年内国产_天天看热讯
今日播报!Win11最新版发布:性能更好更丝滑
粤港澳大湾区首个京粤产业协作中心挂牌并落户广州黄埔 快播报
苹果WWDC23终极“剧透”:iOS 17登场 首款头显万众期待 天天精选
天天热点评!《原神》3.7版本正式上线!原神首个卡牌赛事登场
99包邮手慢无!匹克路威篮球鞋2折清仓(门店469元)
脾气真大!一特斯拉插队未遂现场报复:直接加速撞车 全球快看
甄子丹出演苹果广告:叶师傅 切他中路!|当前焦点