1. 程式人生 > 其它 >Zookeeper服務註冊與發現實戰

Zookeeper服務註冊與發現實戰

技術標籤:後端linuxjavazookeeper

前期工作需要在linux系統中構建jdk環境以及Zookeeper的安裝,其中linux我選擇的作業系統是Centos7,jdk版本如下:jdk version
關於Zookeeper的版本,我這裡使用的是3.5.8

這邊簡短介紹一下Zookeeper的一些命令列操作:

建立命令(create):

  • 建立持久化有序節點:create -s /a “aaa”
    create -s /b “bbb”
  • 建立臨時節點:create -e /tmp “tmp”
  • 建立臨時有序節點:create -s -e /aa ‘aaa’
    create -s -e /bb ‘bbb’

獲取命令(get):

  • 獲取節點內容:get /a

修改節點(set):

  • set /tmp “dad”

監聽器(get path [watch])

授權(acl):

  • setAcl
  • getAcl
  • addauth

為了能夠使我們的當前使用者能夠連線到linux伺服器中,我們需要關閉linux的防火牆

systemctl stop firewalld

並且確保伺服器連線到了網路,具體測試方法可以在終端輸入

ping www.baidu.com

如果可以間斷性獲得訊息傳送則確定網路已連線

接下來我們開啟idea,建立maven module,並且在pom檔案中寫入依賴

    <dependencies>
        <
dependency
>
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.atguigu.springcloud</groupId> <artifactId
>
cloud-api-commons</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency> </dependencies>

之後的具體controller和main class中的程式碼可以參考我的程式碼倉庫:
server部分程式碼

接下來我們進入到伺服器終端,開啟zkServer

./zkServer.sh start

並且開啟zkClient

./zkCli.sh

當我們輸入一下命令時,會得到payment節點註冊(該節點是臨時節點,而非持久節點)
在這裡插入圖片描述
其中開啟網頁測試server節點,結果如下
server節點
如此可以確定我們的伺服器端註冊已經完成

接下來開始實現Consumer端的註冊服務:

建立mvn倉庫,其中pom檔案內容與server部分的依賴基本相同,額外需要加一條

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

具體內容部分的程式碼可以詳見我github倉庫
consumer部分程式碼

同樣的我們執行程式後開啟伺服器終端輸入命令進行測試
註冊節點圖

開啟網頁測試consumer節點,結果如下
consumer節點
至此完成兩個服務的註冊進入zookeeper

本文參考:尚矽谷springcloud2020最新教程