Dubbo Nacos實現服務註冊和發現

2021-10-09 03:47:20 字數 1899 閱讀 5739

很多公司都用dubbo作為自己的rpc遠端服務呼叫框架,其優異的效能也是得到了大家的認可。目前的標配是用zookeeper進行服務註冊,用dubbo自帶的dubbo admin進行服務管理,基本來說是夠用的。

在講今天的內容之前,還是看看dubbo+zookeeper是怎麼玩的。

dubbo+zookeeper配置流程

1.pom依賴

com.alibaba.spring.boot

dubbo-spring-boot-starter

2.0.0

com.101tec

zkclient

0.10

2.暴露服務介面

介面:

public inte***ce sturpcservice
實現類:(這裡的@service註解是dubbo的,不要用spring的)

@service

@component

public class sturpcserviceimpl implements sturpcservice

}

3. 消費服務

@restcontroller

public class rpcconsumercontroller }

4. dubbo註冊配置

dubbo.registry.protocol=zookeeper

dubbo.registry.address=127.0.0.1:2181

5. 起zookeeper,起自己的應用,就可以玩起來了。

dubbo+nacos配置流程要做的改動

1. pom依賴

com.alibaba

dubbo-registry-nacos

0.0.2

com.alibaba.nacos

nacos-client

0.6.1

nacos.discovery.server-addr=127.0.0.1:8848

nacos.config.server-addr=127.0.0.1:8848

dubbo.registry.address = nacos:

dubbo.protocol.name=dubbo

dubbo.protocol.port=-1

3. 啟動nacos,看看服務提供者和消費者是不是都註冊上來了

4. 呼叫一把服務

我是用idea通過8090埠起的服務,這裡把服務提供的@service給注釋掉了,然後用dos命令視窗通過8091埠起了一遍應用,這裡是沒有注釋掉@service的包。造成的結果是:8090埠的應用沒有提供服務,8091埠的應用提供了add服務。

呼叫後的結果:

網頁上顯示3,idea控制台沒有列印任何日誌,dos命令視窗列印了日誌

總結使用nacos替換掉zookeeper,對整個專案的改動並不大。至於為什麼用nacos,不用zookeeper,有下面的原因

1)分布式系統有cap理論,nacos實現了ap,zookeeper實現了cp,為了系統的ha,寧願選用ap

2)zookeeper僅僅是乙個簡單的服務註冊工具,nacos不僅僅支援服務註冊發現,而且實現了配置中心

3)nacos作為springcloud全家桶一員,未來的發展肯定是和微服務路線圖發展一致

spring cloud Eureka服務註冊

yls 2020 5 5 org.springframework.cloud spring cloud starter netflix eureka server enableeurekaserver public static void main string args spring name i...

delphi通過winexec執行服務註冊

delphi xe 10.2.2 通過呼叫winexec進行服務註冊,這樣寫 winexec pansichar aaa.exe install sw hide 可以成功註冊,但是這樣寫就一直不能註冊服務var v str string begin v str aaa.exe install win...

Linux上搭建zookeeper服務註冊中心

1.上傳zookeeper檔案至linux中 jdk 8u121 linux x64.tar.gz zookeeper 3.4.9.tar.gz 上傳的具體步驟 2.安裝jdk以及jdk配置環境變數 具體步驟 3.解壓zookeeper壓縮包至 opt目錄下 tar xzvf zookeeper 3...