开发者学堂课程干货总结——Dubbo 分布式服务治理实践(五)

简介: Dubbo 分布式服务治理实践课时5—Dubbo集成Nacos注册中心实战。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦!

哈喽各位同学们大家好呀,小编今天带着开发者学院中课程“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。 

image.png 

 

(二)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本身也是一个生态,很多功能并没有在自己的范围内解决。阿里开源其他框架,帮助协调解决大规模服务集群的治理工作。 

image.png 

 

二、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 文件: 

image.png 

(二)Nacos监控Dubbo服务 

上线完成以后,Nacos自带web的界面,可以打开看一下整个服务列表,还有配置管理等一系列复杂的功能。启动服务注册里面有详情的详情、删除等操作功能,可以进行更详细的管理工作。 

image.png 

 

(三)实例演示: 

官方参考资料:http://dubbo.apache.org/。官方的例子比较复杂,需要很多依赖包,这里演示一个简单的例子。 

首先构建一个Dubbo服务,Dubbo服务没有分包,直接放在根目录下面,有接口实现,放在同一个目录下面,就是一个“sayHello”包。传一个字符串,就返回一个字符串,基本上有一个实现类型。 

image.png 

 

这里面基于是“SringBoot”,做了一个 Dubbo的服务端,Dubbo3.0之后在进化,支持Spring Cloud微服务架构体系,可以提供REST API,也可以做云原生,比较灵活。 

注意看一下配置文件,两个关键点,一个是Dubbo的起步依赖,选的是2.7.8,一个是Nacos选的是1.2.1。 

image.png 

配置文件,首先要配置自己的名字,这里是“dubbo-provider-demo”,还有指定扫描的包,这里是叫“com.alibaba”,下面是nacos的一个例“nacos://127.0.0.0:8848”。 

image.png 

 

这时需要提前启动nacos,下载完成以后有一个解压包,可以直接启动。注意是单点模式启动,直接双击,有一个脚本,我们在windows上直接启动就ok。看一下窗口界面有一个地址,这个地址是启动完成以后会有一个管理界面,第一次登录需要输入用户、密码。 

image.png 

 

把这个地址粘贴到网页,转到Nacos管理界面,现在看服务列表,里面还没有服务,因为服务还没有上线。 

image.png 

现在可以启动服务端,客户端到服务端需要连注册中心找到服务端进行调用。涉及包依赖,主要是如下两个依赖: 

image.png 

造成REST API作为调用的控制器出口,这里可以传一个字符串,然后让后台通过服务代理来调,里面的接口实现一模一样。如果在同一个工程里面,可以依赖同一个包,可以把Controller拆出来。这里基本没变,还是“SringBoot” 程序。 

image.png 

 

下面是“Dubbo-client-demo”client的意思是消费者,意思就是调用客户端的评论或支付信息。 

image.png 

 

这样一个过程,就是一次调用,也可以称为是一次命令“Order”,在电商系统里面“Order”被翻译成订单。模拟 Java架构中,服务端向注册中心注册一个端口,注意端口不能重复,过程中不能出现错误。完成后刷新一下,Nacos界面服务列表中已经显示出来我们的“com.alibaba”服务,说明服务端的服务已经上线。 

image.png 

 

点打看一下详情,可以看到用到的方法、release等服务相关的描述信息,使用非常方便。 

image.png 

 

点击服务列表界面的“示例代码”,会告诉你如果通过其他服务做请求,代码应该怎么写,还有微服务架构怎么集成,这是Nacos非常优秀的地方。 

image.png 

 

接下来上线客户端,启动客户端来模拟服务调用,上传一个字符串,严格来说是一个代理。这里叫做“proxy”,实际是服务端的接口,客户端通过“proxy”接口生成一个变量创建实例,严格的说是创建一个代理对象,用于调取后台的远程服务接口。 

image.png 

 

模拟启动客户端,传入字符串,调用接口,到Nacos服务界面刷新,可以看到服务列表里多出一条“consumers”服务,属于调用端。 

image.png 

端口是“9001”,地址是”sayHello”,然后通过Dubbo传送,返回结果正常,换成Java,返回结果也是正常的。正常情况下,字符串是从服务端返回来的,客户端通过代理对象调用远程服务,获取信息。这是典型的RPC架构,用Nacos注册中心,非常容易就可以实现。 

image.png 

相关文章
|
设计模式 供应链
一文教会你如何写复杂业务代码
了解我的人都知道,我一直在致力于应用架构和代码复杂度的治理。 这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。针对该命题,我进行了比较细致的思考和研究。
39094 3
|
8月前
|
人工智能 API 调度
Claude Skill 官方指南发布:能力模块化正在改变大模型工程结构
Anthropic发布30页《Skill创建指南》,首次系统定义大模型“能力模块化”范式。Skill介于Tool与Agent之间,强调职责单一、结构化I/O与可组合性,推动AI从提示工程迈向软件化能力架构。
|
关系型数据库 测试技术 领域建模
复杂性应对之道——矩阵思维(多维度思考)
> You should not be a if-else coder, should be a complexity conquer. -Frank # 前言 这篇文章,是对之前我在[《一文教会你如何写复杂业务代码》](https://www.atatech.org/articles/146064)说的“自上而下的结构化分解 + 自下而上的抽象建模”方法论的升级。因为在之前的方法论中,我
5875 2
复杂性应对之道——矩阵思维(多维度思考)
|
云安全 安全 网络安全
|
5天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
1948 1
|
12天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
1951 39
|
9天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1297 3
|
6天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
13天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
2128 0

热门文章

最新文章