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


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

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

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

    部署 Nacos

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

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

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

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

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

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

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

    上传到服务器解压项目后,同样需要处理鉴权相关的配置,然后就可以正常启动 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.dubbogroupId>
    <artifactId>dubbo-registry-nacosartifactId>
    <version>3.2.2version>
    dependency>

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

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

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

    部署 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 中:

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

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

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

    Tips

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

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

  • 相关阅读:
    后端web开发框架——Spring Boot
    SPA项目实现首页导航以及左侧菜单
    网络安全:系统目录介绍
    这是硬核技术创新!解读华为云柔性计算
    基于kubernetes平台微服务的部署
    Python刷题系列(9)_Pandas_Series
    基于单片机双路压力监测报警系统
    Docker Harbor 私有镜像仓库的部署和管理
    放弃36年的鞋服业务转而“卖粮”,贵人鸟胜算几何?
    Docker 命令大全
  • 原文地址:https://www.cnblogs.com/wyz1994/p/17578491.html