哈喽各位同学们大家好呀 小编今天带着开发者学院中课程“Dubbo集成Nacos注册中心实战”干货总结来了~这是Dubbo 分布式服务治理实践最后一篇哦 一起学习新课程吧
课程链接以及图谱地址小编已经为大家指路了 搭配学习效果更佳
课程名称 Dubbo集成Nacos注册中心实战?
课程地址 https://developer.aliyun.com/learning/course/72/detail/1189?spm a2c6h.12873639.0.0.70672e8aSWMLvg
图谱名称 Alibaba Java 技术图谱
图谱地址 https://developer.aliyun.com/graph/java?spm a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ
Dubbo集成Nacos注册中心实战
这节课讲的是Dubbo集成Nacos注册中心实战 Nacos当前在微服务领域非常有名 不仅仅支持Spring Cloud 而且支持Dubbo服务集群 当然也支持GO语言等客户端进行集成 是非常优秀的注册中心架构。另外Nacos还可以做配置服务 对标携程开源的阿波罗注册中心 大规模集服务集群配置向外迁移的时候可以使用Spring Cloud、Nacos等服务。?
一、Dubbo集成Nacos注册中心?
一 Nacos注册中心?
Nacos是阿里巴巴开源的新一代分布式服务注册和查找架构 提供配置和管理微服务 构建以“服务”为中心的现代应用架构等等 功能非常强大 总结如下 ?
1.?Nacos微服务动态服务发现、配置管理和服务管理工具平台。?
2.?Nacos?致力于帮助发现、配置和管理微服务。?
3.?Nacos?帮助更敏捷和容易地构建、交付和管理微服务平台。Nacos?是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。?
4.?Nacos支持几乎所有主流的“服务”的发现、配置和管理。?
5. Kubernetes Service。?
6.?gRPC? ?Dubbo?RPC Service。?
7. Spring Cloud RESTful Service。?
8.?https://nacos.io。?
?
?
二 Dubbo集成Nacos注册中心?
Dubbo和?Nacos进行集成 很重要的一点是 Dubbo作为分布式服务治理框架 可以写服务接口 Dubbo本身与Nacos并没有交集 Nacos起到注册中心和配置中心的作用 但是有统一标准的通信协议。提交数据做集成时 Nacos专门为Dubbo开发Nacos客户端 集成时依赖Nacos客户端 然后配置一下 向注册中心提交数据。Nacos?作为?Dubbo?生态系统中重要的注册中心实现 其中?dubbo-registry-nacos?则是?Dubbo?融合?Nacos?注册中心的实现。?
?
三 Dubbo分布式架构?
回顾Dubbo分布式架构架构 最简单的架构就是调用端、服务端、注册中心 向外扩展有很多功能 如注册中心 应用监控、大规模服务集群的负载均衡等。这是Dubbo比较牛逼的地方。因为在Spring Cloud大规模流行之前 实际Dubbo已经实现解决了这些问题 Dubbo本身也是一个生态 很多功能并没有在自己的范围内解决。阿里开源其他框架 帮助协调解决大规模服务集群的治理工作。?
?
?
二、Dubbo集成Nacos注册中心实战?
一 Dubbo集成Nacos实战步骤?
Dubbo集成Nacos实战的关键步骤 首页构造一个Dubbo服务 给Dubbo配置Nacos客户端依赖 再配置Nacos注册中心的地址 还需要提前启动Nacos注册中心的服务 然后Dubbo服务才可以在Nacos注册中心里面进行注册。推荐使用?Dubbo?2.6.5以上的版本 不建议再用之前的版本 涉及Nacos客户端依赖 一般使用1.2.0以上版本 最新是1.4.0 太旧的版本不推荐用 容易遇到兼容性等问题。步骤总结如下 ?
??启动Nacos注册中心 ?
??Dubbo改造加入dubbo-registry-nacos?依赖 ?
??dubbo-registry-nacos?的 Maven 依赖pom.xml 文件中 ?
??推荐您使用?Dubbo?2.6.5 。?
Dubbo的pom.xml 文件 ?
?
二 Nacos监控Dubbo服务?
上线完成以后 Nacos自带web的界面 可以打开看一下整个服务列表 还有配置管理等一系列复杂的功能。启动服务注册里面有详情的详情、删除等操作功能 可以进行更详细的管理工作。?
?
?
三 实例演示 ?
官方参考资料 http://dubbo.apache.org/。官方的例子比较复杂 需要很多依赖包 这里演示一个简单的例子。?
首先构建一个Dubbo服务 Dubbo服务没有分包 直接放在根目录下面 有接口实现 放在同一个目录下面 就是一个“sayHello”包。传一个字符串 就返回一个字符串 基本上有一个实现类型。?
?
?
这里面基于是“SringBoot” 做了一个?Dubbo的服务端 Dubbo3.0之后在进化 支持Spring Cloud微服务架构体系 可以提供REST API 也可以做云原生 比较灵活。?
注意看一下配置文件 两个关键点 一个是Dubbo的起步依赖 选的是2.7.8 一个是Nacos选的是1.2.1。?
?
配置文件 首先要配置自己的名字 这里是“dubbo-provider-demo” 还有指定扫描的包 这里是叫“com.alibaba”,下面是nacos的一个例“nacos://127.0.0.0:8848”。?
?
?
这时需要提前启动nacos 下载完成以后有一个解压包 可以直接启动。注意是单点模式启动 直接双击 有一个脚本 我们在windows上直接启动就ok。看一下窗口界面有一个地址 这个地址是启动完成以后会有一个管理界面 第一次登录需要输入用户、密码。?
?
?
把这个地址粘贴到网页 转到Nacos管理界面 现在看服务列表 里面还没有服务 因为服务还没有上线。?
?
现在可以启动服务端 客户端到服务端需要连注册中心找到服务端进行调用。涉及包依赖 主要是如下两个依赖 ?
?
造成REST API作为调用的控制器出口 这里可以传一个字符串 然后让后台通过服务代理来调 里面的接口实现一模一样。如果在同一个工程里面 可以依赖同一个包 可以把Controller拆出来。这里基本没变 还是“SringBoot”?程序。?
?
?
下面是“Dubbo-client-demo”client的意思是消费者 意思就是调用客户端的评论或支付信息。?
?
?
这样一个过程 就是一次调用 也可以称为是一次命令“Order” 在电商系统里面“Order”被翻译成订单。模拟 Java架构中 服务端向注册中心注册一个端口 注意端口不能重复 过程中不能出现错误。完成后刷新一下 Nacos界面服务列表中已经显示出来我们的“com.alibaba”服务,说明服务端的服务已经上线。?
?
?
点打看一下详情 可以看到用到的方法、release等服务相关的描述信息 使用非常方便。?
?
?
点击服务列表界面的“示例代码” 会告诉你如果通过其他服务做请求 代码应该怎么写 还有微服务架构怎么集成 这是Nacos非常优秀的地方。?
?
?
接下来上线客户端 启动客户端来模拟服务调用 上传一个字符串 严格来说是一个代理。这里叫做“proxy” 实际是服务端的接口 客户端通过“proxy”接口生成一个变量创建实例 严格的说是创建一个代理对象 用于调取后台的远程服务接口。?
?
?
模拟启动客户端 传入字符串 调用接口 到Nacos服务界面刷新 可以看到服务列表里多出一条“consumers”服务 属于调用端。?
?
端口是“9001” 地址是”sayHello” 然后通过Dubbo传送 返回结果正常 换成Java 返回结果也是正常的。正常情况下 字符串是从服务端返回来的 客户端通过代理对象调用远程服务 获取信息。这是典型的RPC架构,用Nacos注册中心 非常容易就可以实现。?
?
操作场景 裸金属服务器操作系统无法正常启动,操作系统中毒,或裸金属服务器系统...
随着教育改革和人工智能的普及,校园智能化建设也已从数字校园向智能校园迈进。...
自己的 域名 过期了,想要第一时间抢注回来怎么办?不知道过期的域名什么时候拍...
昨日,四川省经信委在成都举行“互联网+四川制造”平台上线新闻发布会,标志着“...
阿里云体验实验室 是为开发者打造的一站式体验学习平台,在这里你可以了解并亲自...
前言 本文翻译自大数据技术公司 Databricks 针对数据湖 Delta Lake 系列技术文章...
为什么访问中国大陆外网站卡顿? 购买的弹性云服务器可能会出现访问中国大陆外网...
大数据开发为什么要参加系统学习呢?自从发展大数据产业被写入政府工作报告、BAT...
百度云管家如何设置登录代理服务器? 百度云代理 如何登录代理服务器?百度云代理...
2021年5月15日,以“相信边缘的力量”为主题的全球边缘计算大会在深圳成功召开。...