将Dubbo注册到Nacos,与DubboAdmin的部署

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 大家好,我是王有志。今天我们做两件事,将Dubbo的服务的注册中心从Zookeeper迁移到Nacos,然后我们部署一个用于测试Dubbo服务的DubboAdmain。

王有志,一个分享硬核Java技术的互金摸鱼侠
加入Java人的提桶跑路群:共同富裕的Java人

本文是《从 0 开始学 Dubbo》系列文章中应用篇的番外篇。

在这篇文章中我会和大家一起部署单机模式的 Nacos,并将 Dubbo 的注册中心从 Zookeeper 迁移到 Nacos 上。另外,为了在只启动 Dubbo 服务提供者的场景下进行测试,我们会部署一个 Dubbo Admin 服务。

部署 Nacos

Nacos 的部署非常简单,可以下载 Nacos 源码编译后启动,或者直接使用 Nacos 官方提供的安装包。具体过程请参考官方文档:Nacos 快速开始

我是在 IDEA 中直接启动的 Nacos,只需要稍微修改 Nacos 子模块 consle 的 application.properties 文件的一项鉴权相关的配置即可:

图1:Nacos的鉴权配置.png

Nacos 的启动类同样位于子模块 console 中:

图2:Nacos的启动类.png

到此,我们就可以在 IDEA 中启动 Nacos 服务了,正常启动后可以通过 localhost:8848/nacos 访问 Nacos 的 Web 管理端:

图3:Nacos的管理端.png

除了从 IDEA 中启动,也可以选择通过 Maven 命令打包后启动项目:

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

打包后的压缩包位于 /nacos/distribution/target 下,我这里打包的版本是 2.2.1-RC-develop:

图4:编译后的Nacos.png

上传到服务器解压项目后,同样需要处理鉴权相关的配置,然后就可以正常启动 Nacos 项目:

# Linux
sh startup.sh -m standalone

# Windows
startup.cmd -m standalone

Tips:Nacos 默认账户密码是“nacos”。

切换 Nacos

Nacos 部署成功后,我们就可以切换 Dubbo 服务的注册中心了,首先是在 POM 文件中引入dubbo-registry-nacos依赖(同时可以移除dubbo-dependencies-zookeeper-curator5依赖):

<dependency>
  <groupId>org.apache.dubbo</groupId>
  <artifactId>dubbo-registry-nacos</artifactId>
  <version>3.2.2</version>
</dependency>

接着修改 application.properties 文件中注册中心的配置:

dubbo:
  registry:
    address: nacos://106.75.33.232:8848

至此注册中心的迁移就完成了,直接启动修改后的 Dubbo 项目,并打开 Nacos 的管理端,就可以看到我们的服务已经注册到了 Nacos 上:

图5:将Dubbo服务注册到Nacos.png

部署 Dubbo Admin

最后,我们来部署一个 Dubbo Admin 服务,用来在不启动服务使用方的场景下,测试服务提供方的服务。目前 Dubbo Admin 正在通过 Go 重构,因此我们需要将分支 refactor-with-go 切换到 master(master 为 Java 构建的分支,如果你能够熟练部署 Go 项目,可以不切换)。

Dubbo Admin 需要修改的内容并不多,主要修改注册中心,Dubbo Admin 的端口号,以及 Dubbo 的 protocol 端口号,首先是注册中心的配置,Dubbo Admin 默认使用的注册中心是 Zookeeper,我们修改为 Nacos 的配置:

# centers in dubbo2.7, if you want to add parameters, please add them to the url
#admin.registry.address=zookeeper://127.0.0.1:2181
#admin.config-center=zookeeper://127.0.0.1:2181
#admin.metadata-report.address=zookeeper://127.0.0.1:2181

# nacos config, add parameters to url like username=nacos&password=nacos
admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
admin.config-center=nacos://127.0.0.1.232:8848?group=dubbo
admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo

接着是修改 Dubbo Admin 的端口号和 Dubbo 的 protocol 端口号:

#compress
server.port=8090
server.compression.enabled=true
server.compression.mime-types=text/css,text/javascript,application/javascript
server.compression.min-response-size=10240

#dubbo config
dubbo.application.name=dubbo-admin
dubbo.registry.address=${admin.registry.address}

至此,我们就可以启动 Dubbo Admin 的服务了,Dubbo Admin 的启动类在子模块 dubbo-admin-server 中:

图6:Dubbo Admin的启动类.png

启动后,我们可以看到如下 Web 管理端页面:

图7:Dubbo Admin的功能.png

可以看到,Dubbo Admin 提供了非常非常多的功能,不过我们这里主要使用的是服务测试的功能:

图8:Dubbo Admin的测试功能.png

至于 DUbbo Admin 提供的其它功能该如何使用,就留给大家来自行探索了。

Tips

  • 生产环境中,一台服务器上通常只会部署一个服务,所以不存在端口号冲突;
  • 同样的,可以使用 Maven 命令mvn clean package打包 Dubbo Admin 服务后启动;
  • Dubbo Admin 的默认账户密码是“root”。

如果本文对你有帮助的话,还请多多点赞支持。如果文章中出现任何错误,还请批评指正。最后欢迎大家关注分享硬核 Java 技术的金融摸鱼侠王有志,我们下次再见!

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
4月前
|
Kubernetes Nacos 数据库
k8s快速部署nacos单机版
k8s快速部署nacos单机版
|
5天前
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
15 2
|
20天前
|
网络安全 Nacos 开发者
Nacos作为流行的微服务注册与配置中心,“节点提示暂时不可用”是常见的问题之一
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,“节点提示暂时不可用”是常见的问题之一。本文将探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务的正常运行。通过检查服务实例状态、网络连接、Nacos配置、调整健康检查策略等步骤,可以有效解决这一问题。
31 4
|
20天前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
41 3
|
20天前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
29 3
|
20天前
|
Dubbo Java 应用服务中间件
深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案
本文深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案。通过检查GraalVM版本兼容性、配置反射列表、使用代理类、检查配置文件、禁用不支持的功能、查看日志文件、使用GraalVM诊断工具和调整GraalVM配置等步骤,帮助开发者快速定位并解决问题,确保服务的正常运行。
32 1
|
2月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
114 1
|
2月前
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
94 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
251 17
微服务框架Dubbo环境部署实战
|
3月前
|
Kubernetes Nacos 容器
nacos注册不上
我正在使用开源的Nacos,并已在Kubernetes中部署了Nacos服务,通过端口映射可在集群外访问Nacos控制台。Kubernetes使用NodePort类型暴露了8848、9848、9849、7848和9555端口,但在尝试注册时遇到问题,出现“Client not connected, current status: STARTING”的错误,导致启动失败。
下一篇
无影云桌面