Dubbo3应用开发—Dubbo3注册中心(zookeeper、nacos、consul)的使用

Dubbo3注册中心的使用

zookeeper注册中心的使用

依赖引入

xml 复制代码
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
    <version>${dubbo.version}</version>
    <type>pom</type>
    <exclusions>
        <exclusion>
            <artifactId>zookeeper</artifactId>
            <groupId>org.apache.zookeeper</groupId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.8.1</version>
</dependency>

版本配对如下:

配置

注意︰注册中心的相关内容,Provider和Consumer都要配置。如果引入了DubboAdmin,DubboAdmin的配置也要与项目中的注册中心一致。

yaml 复制代码
dubbo:
  registry:
    address: zookeeper://127.0.0.1:2181

从DubboAdmin可以看出,已经有了相应的服务。

nacos注册中心的使用

基本介绍

  1. nacos是阿里在SpringCloudAlibaba中开源的一个注册中心与配置中心组件。
  2. nacos作为注册中心,广泛的应用在微服务体系中。
  3. 开源网址: https://github.com/alibaba/nacos目前最新版本:2.2.34.

nacos的安装和使用------本文介绍本地安装

  1. 从官网 https://github.com/alibaba/nacos下载对应的nacos二进制安装包;

  2. 解压缩

  3. 启动服务

    命令如下

    markdown 复制代码
    startup.cmd -m standalone

    在地址栏输入http://localhost:8848/nacos进行访问

  4. 依赖引入

    xml 复制代码
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-registry-nacos</artifactId>
    </dependency>
  5. 配置

    yaml 复制代码
    dubbo:
      registry:
        address: nacos://127.0.0.1:8848

consul注册中心的使用

基本介绍

  1. Consul是一种非常轻量级的服务发现框架,适用于构建大规模的微服务架构。
  2. Consul具有服务发现、健康检查、KV存储等功能。
  3. Consul使用Go语言编写,因此可以编译成单一二进制文件并运行于Linux、Windows和MacOS等平台上。
  4. 官方网址: https://www.consul.io/

consul的安装和使用------本文介绍本地安装

下载

解压缩

下载完成后进行解压缩;

启动服务

在exe所在目录输入

markdown 复制代码
./consul agent -dev(如果shiwindows使用:consul agent -dev)
markdown 复制代码
在如下地址进行访问:
http://localhost:8500/ui/

引入依赖

错误方式

markdown 复制代码
1.第一种错误的引入方式
<dependency>
    <groupld>org.apache.dubbo</groupld>
    <artifactld>dubbo-registry-consul</artifactld>
</dependency>
原因: dubbo父项目中没有管理这个依赖,所以必须要加入版本。
2.第二种错误的引入方式
https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-registry-consul
目前︰提供的版本2.7.23
<dependency>
    <groupld>org.apache.dubbo</groupld>
    <artifactld>dubbo-registry-consul</artifactld>
    <version>2.7.23</version>
</ dependency>
运行报错:NoClassDefFoundError:org/apache/dubbo/event/EventListener
原因: dubbo-registry-consul:2.7.23默认调用dubbo2.7.23会有上述类型,但是目前我们使用的是dubbo3.2.0,已经把这个类移除了,所以会报类型未找到的异常。

正确方式

https://github.com/apache/dubbo/issues/9901

https://github.com/apache/dubbo-spi-extensions

https://cn.dubbo.apache.org/en/download/spi-extensions/

xml 复制代码
<dependency>
    <groupId>org.apache.dubbo.extensions</groupId>
    <artifactId>dubbo-registry-consul</artifactId>
    <version>1.0.1</version>
</dependency>
注意:虽然官⽅⽂档上写明最新版本为1.0.3,但是⽬前maven中⼼仓
库的版本还是1.0.1。
https://mvnrepository.com/artifact/org.apache.dubbo.extensions/dubbo-registry-consul
如果想更好的解决,只能下载源码,本地安装或者私服安装。

配置

yaml 复制代码
dubbo:
  registry:
    address: consul://127.0.0.1:8500
相关推荐
IT空门:门主2 分钟前
Spring 注入三剑客:@Resource、@Autowired、@RequiredArgsConstructor 到底该用哪个?
java·后端·spring
Sam_Deep_Thinking26 分钟前
Spring Boot 的启动原理是什么?
java·spring boot·后端
南部余额33 分钟前
Spring WebClient 从入门到精通
java·后端·spring
CodeStats37 分钟前
从 CPU 指令到 JVM 进程:彻底讲透 Java 执行 main 方法时,类加载、主线程、栈帧入栈的完整底层逻辑
java·linux·开发语言
摇滚侠38 分钟前
Spring 零基础入门到进阶 基于注解管理 Bean 38-43
xml·java·后端·spring·intellij-idea
SamDeepThinking1 小时前
我们当年是如何真实落地BFF的?
java·后端·架构
码语智行1 小时前
Shapefile获取空间数据和中心点坐标
java·arcgis
caoyc1 小时前
RAG 赛道全景扫描:ragflow 一骑绝尘、微软谷歌跟进乏力、下半场属于 Agent
java
屋外雨大,惊蛰出没1 小时前
深入浅出Spring Boot
java·spring boot·ioc·aop