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
相关推荐
vx_BS8133018 分钟前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计
2601_9498683618 分钟前
Flutter for OpenHarmony 电子合同签署App实战 - 已签合同实现
java·开发语言·flutter
达文汐1 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
培风图南以星河揽胜1 小时前
Java版LeetCode热题100之零钱兑换:动态规划经典问题深度解析
java·leetcode·动态规划
启山智软1 小时前
【中大企业选择源码部署商城系统】
java·spring·商城开发
我真的是大笨蛋1 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
怪兽源码2 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
恒悦sunsite2 小时前
Redis之配置只读账号
java·redis·bootstrap
梦里小白龙2 小时前
java 通过Minio上传文件
java·开发语言
人道领域2 小时前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql