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
相关推荐
魔道不误砍柴功9 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2349 分钟前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨12 分钟前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity3 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天3 小时前
java的threadlocal为何内存泄漏
java
caridle3 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^3 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
秋の花3 小时前
【JAVA基础】Java集合基础
java·开发语言·windows