Dubbo:Nacos作為註冊中心
前言
本文介紹如何通過Nacos作為配置中心,實現Dubbo服務的註冊與消費
以HelloService服務為例
public interface HelloService {
String sayHello(String name);
}
服務提供方和消費方都引入以下jar
<dependencys>
<!-- Spring Boot dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>
<!-- Dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</dependency>
<!-- Dubbo Registry Nacos -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</dependency>
</dependencys>
需要搭建一個Nacos服務,這裡直接使用程式設計師DD提供的公益性的Nacos服務,
詳細地址
服務提供方
- 實現介面
@Service(version = "${dubbo.service.version}")
public class HelloServiceImpl implements HelloService {
@Value("${spring.application.name}")
private String serviceName;
public String sayHello(String name) {
return String.format("[%s] : Hello , %s", serviceName, name);
}
}
- 配置服務
spring.application.name = nacos-dubbo-provider
dubbo.scan.base-packages= com.github.ly641921791.dubbo.example.nacos.provider.service
dubbo.protocol.name = dubbo
dubbo.protocol.port = -1
# dubbo.registry.address = nacos://127.0.0.1:8848
dubbo.registry.address = nacos://nacos.didispace.com:80
dubbo.service.version = 1.0.0
- 載入程式
@SpringBootApplication
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
- 啟動應用
啟動後在Nacos控制檯發現應用註冊成功,服務名為providers:com.github.ly641921791.dubbo.example.common.service.HelloService:1.0.0
服務消費方
- 配置服務
spring.application.name = nacos-dubbo-consumer
# dubbo.registry.address = nacos://127.0.0.1:8848
dubbo.registry.address = nacos://nacos.didispace.com:80
dubbo.service.version = 1.0.0
- 載入程式 & 服務消費
@SpringBootApplication
public class NacosConsumerApplication {
@Reference(version = "${dubbo.service.version}")
private HelloService helloService;
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args).close();
}
@Bean
public ApplicationRunner runner() {
return new ApplicationRunner() {
public void run(ApplicationArguments args) throws Exception {
System.out.println(helloService.sayHello("consumer"));
}
};
}
}
- 啟動程式
控制檯列印出[nacos-provider] : Hello , consumer
,說明消費成功
原始碼及參考
原始碼地址(可執行) :https://github.com/ly641921791/knowledge-examples/tree/master/dubbo-example
- 服務提供模組 :nacos-dubbo-provider
- 服務消費模組 :nacos-dubbo-consumer
參考文件(Nacos官網) :http://dubbo.apache.org/zh-cn/docs/user/references/registry/nacos.html
參考案例(Nacos示例) :https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples/dubbo-registry-nacos-samples
相關文章
- Dubbo使用nacos作為註冊中心原理剖析
- Dubbo與SpringCloud Alibaba使用Nacos作為配置中心和註冊中心SpringGCCloud
- Dubbo使用Nacos註冊中心
- SpringBoot與Dubbo整合報錯排查(Nacos作為註冊中心)Spring Boot
- SpringBoot整合Dubbo,註冊中心nacosSpring Boot
- Spring Cloud Alibaba:Nacos 作為註冊中心和配置中心使用SpringCloud
- SpringBoot使用Nacos作為配置中心服務和服務註冊中心Spring Boot
- Spring Cloud Alibaba 使用Nacos作為服務註冊中心SpringCloud
- 為什麼阿里的dubbo註冊中心要放棄zookeeper, 而用Nacos?阿里
- springboot工程dubbo使用nacos作為配置中心Spring Boot
- Nacos註冊中心+配置管理
- 整合 nacos註冊中心配置使用
- springboot整合nacos註冊中心和配置中心Spring Boot
- Dubbo 穩定性案例:Nacos 註冊中心可用性問題覆盤
- 使用nacos做dubbo的註冊中心服務列表沒有資料
- Dubbo系列之 (二)Registry註冊中心-註冊(1)
- Dubbo系列之 (二)Registry註冊中心-註冊(2)
- nacos註冊中心原始碼流程分析原始碼
- Spring Cloud Alibaba(4)---Nacos(註冊中心)SpringCloud
- 手動造輪子——為Ocelot整合Nacos註冊中心
- nacos作為配置中心
- SpringCloud之使用Zookeeper作為註冊中心SpringGCCloud
- Dubbo 中 Zookeeper 註冊中心原理分析
- 圖解Nacos,註冊中心演變 + Nacos核心功能圖解
- SpringCloud入門(六)Nacos註冊中心(下)SpringGCCloud
- SpringCloud入門(五)Nacos註冊中心(上)SpringGCCloud
- Nacos註冊與配置中心:使用詳講
- 保姆教程系列二、Nacos實現註冊中心
- Nacos配置中心和服務的註冊發現
- 微服務架構 | 3.2 Alibaba Nacos 註冊中心微服務架構
- SpringCloud-Alibaba之Nacos服務註冊中心SpringGCCloud
- 阿里 Nacos 註冊中心 配置啟動說明阿里
- SpringCloud Alibaba Nacos註冊中心原始碼淺析SpringGCCloud原始碼
- Dubbo+Nacos實現服務註冊和發現
- 普通springcloud eureka 和 spring cloud Alibaba nacos 註冊中心SpringGCCloud
- 微服務註冊中心 Nacos 比 Eureka的優勢微服務
- springcloud/springboot整合NACOS 做註冊和配置中心以及nacos原始碼分析GCCloudSpring Boot原始碼
- 還在用 Zookeeper 作為註冊中心?小心坑死你!