Dubbo與SpringCloud Alibaba使用Nacos作為配置中心和註冊中心
在工作當中,隨著技術的迭代和專案的不斷開發,Dubbo和SpringCloud Alibaba之間如何更好的整合呼叫是個很常見的問題,
舉個簡單的小例子
依賴:
<!--config-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置:
bootstrap.yml
spring:
profiles:
active: dev
bootstrap-dev.yml
spring:
application:
name: dubbo-provider
cloud:
nacos:
config:
server-addr: 192.168.95.136:8848
file-extension: yml
namespace: bfaf7fc0-cf2e-4614-b760-537332fe9c47
nacos作為dubbo的服務註冊中心
<properties>
<apache-dubbo.version>2.7.4.1</apache-dubbo.version>
<nacos.version>1.1.4</nacos.version>
</properties>
依賴:
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${apache-dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${apache-dubbo.version}</version>
</dependency>
<!-- Dubbo Registry Nacos -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>${apache-dubbo.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.spring</groupId>
<artifactId>spring-context-support</artifactId>
<version>1.0.3</version>
</dependency>
配置
dubbo:
registry:
address: nacos://192.168.95.136:8848
#config-center:
#namespace: bfaf7fc0-cf2e-4614-b760-537332fe9c47
scan:
base-packages: club.codenow.dubbo.provider.service
application:
name: dubbo-provider
protocol:
port: -1
name: dubbo
服務提供者:
介面
public interface ProviderService {
String getTestString();
}
提供者實現介面
@Service(version = "1.0.0")
public class ProviderServiceImpl implements ProviderService {
@Override
public String getTestString() {
return "dubbo provider service Get Test String ";
}
}
服務消費者:
public class XXService{
@Reference(version="1.0.0")
private ProviderService providerService;
}
關於 spring-cloud-starter-alibaba-nacos-discovery 的 starter 配置項如下所示:
配置項 | Key | 預設值 | 說明 |
服務端地址 | spring.cloud.nacos.discovery.server-addr | 無 | Nacos Server 啟動監聽的ip地址和埠 |
服務名 | spring.cloud.nacos.discovery.service | ${spring.application.name} | 給當前的服務命名 |
服務分組 | spring.cloud.nacos.discovery.group | DEFAULT_GROUP | 設定服務所處的分組 |
權重 | spring.cloud.nacos.discovery.weight | 1 | 取值範圍 1 到 100,數值越大,權重越大 |
網路卡名 | spring.cloud.nacos.discovery.network-interface | 無 | 當IP未配置時,註冊的IP為此網路卡所對應的IP地址,如果此項也未配置,則預設取第一塊網路卡的地址 |
註冊的IP地址 | spring.cloud.nacos.discovery.ip | 無 | 優先順序最高 |
註冊的埠 | spring.cloud.nacos.discovery.port | -1 | 預設情況下不用配置,會自動探測 |
名稱空間 | spring.cloud.nacos.discovery.namespace | 無 | 常用場景之一是不同環境的註冊的區分隔離,例如開發測試環境和生產環境的資源(如配置、服務)隔離等。 |
AccessKey | spring.cloud.nacos.discovery.access-key | 無 | 當要上阿里雲時,阿里雲上面的一個雲賬號名 |
SecretKey | spring.cloud.nacos.discovery.secret-key | 無 | 當要上阿里雲時,阿里雲上面的一個雲賬號密碼 |
Metadata | spring.cloud.nacos.discovery.metadata | 無 | 使用Map格式配置,使用者可以根據自己的需要自定義一些和服務相關的後設資料資訊 |
日誌檔名 | spring.cloud.nacos.discovery.log-name | 無 | |
叢集 | spring.cloud.nacos.discovery.cluster-name | DEFAULT | 配置成Nacos叢集名稱 |
接入點 | spring.cloud.nacos.discovery.enpoint | UTF-8 | 地域的某個服務的入口域名,通過此域名可以動態地拿到服務端地址 |
是否整合Ribbon | ribbon.nacos.enabled | TRUE | 一般都設定成true即可 |
是否開啟Nacos Watch | spring.cloud.nacos.discovery.watch.enabled | TRUE | 可以設定成false來關閉 watch |
相關文章
- Spring Cloud Alibaba:Nacos 作為註冊中心和配置中心使用SpringCloud
- Dubbo使用nacos作為註冊中心原理剖析
- Spring Cloud Alibaba 使用Nacos作為服務註冊中心SpringCloud
- Springcloud alibaba nacos配置中心SpringGCCloud
- SpringCloud-Alibaba之Nacos服務註冊中心SpringGCCloud
- SpringCloud Alibaba Nacos註冊中心原始碼淺析SpringGCCloud原始碼
- 普通springcloud eureka 和 spring cloud Alibaba nacos 註冊中心SpringGCCloud
- Nacos註冊與配置中心:使用詳講
- SpringBoot與Dubbo整合報錯排查(Nacos作為註冊中心)Spring Boot
- SpringBoot使用Nacos作為配置中心服務和服務註冊中心Spring Boot
- springcloud alibaba-nacos配置中心SpringGCCloud
- springcloud-註冊中心和配置中心SpringGCCloud
- springboot工程dubbo使用nacos作為配置中心Spring Boot
- SpringCloud之使用Zookeeper作為註冊中心SpringGCCloud
- springboot整合nacos註冊中心和配置中心Spring Boot
- SpringCloud Alibaba實戰(7:nacos註冊中心管理微服務)SpringGCCloud微服務
- 微服務實戰系列(四)-註冊中心springcloud alibaba nacos微服務SpringGCCloud
- SpringBoot整合Dubbo,註冊中心nacosSpring Boot
- Spring Cloud Alibaba(4)---Nacos(註冊中心)SpringCloud
- Nacos註冊中心+配置管理
- Spring Cloud Alibaba基礎教程:使用Nacos作為配置中心SpringCloud
- Spring Cloud Alibaba 使用Nacos作為配置管理中心SpringCloud
- Spring Cloud Alibaba Nacos搭建服務註冊發現和配置中心SpringCloud
- springcloud/springboot整合NACOS 做註冊和配置中心以及nacos原始碼分析GCCloudSpring Boot原始碼
- SpringCloud入門(五)Nacos註冊中心(上)SpringGCCloud
- SpringCloud入門(六)Nacos註冊中心(下)SpringGCCloud
- 微服務架構 | 3.2 Alibaba Nacos 註冊中心微服務架構
- naocs 作為服務註冊與發現和配置中心
- SpringCloud Nacos 配置中心SpringGCCloud
- consul 作為服務註冊與發現和配置中心
- Spring Cloud 部署時如何使用 Kubernetes 作為註冊中心和配置中心SpringCloud
- Dubbo使用Apollo作為配置中心實戰
- Spring Cloud Alibaba系列(二)nacos作為服務配置中心SpringCloud
- 為什麼阿里的dubbo註冊中心要放棄zookeeper, 而用Nacos?阿里
- 使用nacos做dubbo的註冊中心服務列表沒有資料
- 阿里 Nacos 註冊中心 配置啟動說明阿里
- 初探Nacos(四)-- SpringBoot下使用Nacos作為配置中心Spring Boot
- SpringCloudAlibaba註冊中心與配置中心之利器Nacos實戰與原始碼分析(上)SpringGCCloud原始碼