第三章 consul服務注冊與服務查詢


1、定義一個服務

https://www.consul.io/docs/agent/services.html

該方法是服務注冊中提供服務的最常用的方法。

關於服務的定義:服務的屬性我們會在后邊每出現一個總結一個,最后再做總結。

 

2、服務注冊

2.1、創建服務文件所存放的文件夾

說明:

  • .d做后綴:表示一系列配置文件的存放目錄(directory)

2.2、創建服務並寫入上述文件夾中的一個文件

說明:

  • 一個服務我們會配置為json格式:比如上述的單引號之間的形式
  • 一個服務會寫在一個json文件中

注意:

  • 如果上述文件夾沒有權限進行操作,先改變文件夾權限,

 

3、服務查詢

先啟動consul進程。

切換屏幕-->

說明:

  • 根據-config-dir指定根據服務注冊的目錄中的文件來啟動服務。

兩種查詢方式:DNSHTTP

3.1、DNS:

訪問的服務名字:

  • tag.servicename.service.consul  tag和servicename都是創建服務的時候配置的
  • DNS訪問的端口是8600

3.2、HTTP:

說明:

  • 訪問的路徑:host:port/版本號/catalog/service/服務名
  • Address:用於指定一個特定service的IP地址,默認情況下,使用的是該service使用的agent。

 

4、多個服務注冊的情況

4.1、每一個服務注冊到一個文件

假設現在又創建了一個secondservice服務,我會將該服務寫入secondservice.json文件中去,如下:

使用http去訪問:

說明:按照服務名去訪問。

4.2、多個服務寫在同一個json文件中

說明:

  • 放在services中而不是service里(上邊的單文件單服務是放在service里的)
  • 多個服務放在一個數組里邊

使用http去訪問:

說明:按照服務名去訪問。

注意:在實際開發中,微服務數量眾多,

如果每個文件都放在一個文件里,文件會非常多,不好!

如果所有微服務都放在一個文件里,文件太大,也不好!

所以,需要二者結合。例如,假設有100個微服務,放在10個json文件中去,每個json文件存放10個服務。

 

文章參考自:https://www.consul.io/intro/getting-started/services.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM