Dubbo支持多种注册中心,比如Nacos,Zookeeper, Multicast,Redis ,Simple等注册中心。主流的方式应该是Nacos和Zookeeper。最近项目中使用了Nacos注册中心。那本篇就先总结下Nacos。
Nacos 是 Dubbo 生态系统中重要的注册中心实现,其中dubbo-registry-nacos则是 Dubbo 融合 Nacos 注册中心的实现。Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”以及“配置注册中心“。
一、增加Maven依赖
首先,需要将dubbo-registry-nacos
的 Maven 依赖添加到您的项目pom.xml
文件中
<!-- Dubbo Nacos registry dependency -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>0.0.2</version>
</dependency>
<!-- Keep latest Nacos client version -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>0.6.1</version>
</dependency>
<!-- Dubbo dependency -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.5</version>
</dependency>
二、配置注册中心
spring框架下,可以通过两种方式配置,Dubbo Spring 外部化配置
以及 Spring XML 配置文件,推荐前者。
1、Dubbo Spring 外部化配置
Dubbo Spring 外部化配置是由 Dubbo2.5.8
引入的新特性,可通过 SpringEnvironment
属性自动地生成并绑定 Dubbo 配置 Bean,实现配置简化,并且降低微服务开发门槛。
假设您Nacos Server 同样运行在服务器10.20.153.10
上,并使用默认 Nacos 服务端口8848
,只需将dubbo.registry.address
属性调整如下:
## Nacos registry address
dubbo.registry.address = nacos://10.20.153.10:8848
随后,重启Dubbo 应用,Dubbo 的服务提供和消费信息在 Nacos 控制台中可以显示:
图所示,服务名前缀为providers:
的信息为服务提供者的元信息,consumers:
则代表服务消费者的元信息。点击“详情”可查看服务状态详情。
2、Spring XML 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
<!-- 服务提供方-->
<dubbo:application name="dubbo-provider-xml-demo" />
<!-- 使用 Nacos 注册中心 -->
<dubbo:registry address="nacos://10.20.153.10:8848" />
...
</beans>
重启 Dubbo 应用后,同样也能发现服务提供方和消费方的注册元信息呈现在 Nacos 控制台中。