1 2 服務註冊與發現

2021-08-15 23:42:54 字數 1783 閱讀 5869

服務治理

為解決微服務架構中,越來越多的服務例項,不可能人工編寫配置清單來維護,那將是乙個很可怕的事情,所以有了服務治理的概念。

服務註冊

每個服務向註冊中心註冊登記自己提供的服務,服務註冊之後,註冊中心會維護這份註冊清單,服務提供者會周期性地向eureka server傳送心跳(預設週期為30秒)以續約自己的資訊。如果eureka server在一定時間內沒有接收到某個微服務節點的心跳,eureka server將會登出該微服務節點(預設90秒);

服務發現

在微服務中,服務的呼叫不再通過指定的位址來實現,而是通過向服務名發起請求呼叫實現。

比如服務a的在註冊中心的名稱為a,有三個例項,對應ip位址為192.168.0.1:8080、192.168.0.2:8080、192.168.0.3:8080,服務c要呼叫服務a,向註冊中心發起諮詢,通過負載均衡的策略對其中乙個服務進行呼叫。

建立「服務註冊中心」

建立乙個基礎的spring boot工程,命名為eureka-server,並在pom.xml中引入需要的依賴內容:

通過@enableeurekaserver註解啟動乙個服務註冊中心提供給其他應用

啟動專案,訪問:localhost:1001

建立「服務提供方」

建立提供服務的客戶端,並向服務註冊中心註冊自己

建立乙個基本的spring boot應用。命名為eureka-client,在pom.xml中,加入如下配置:

通過@enableeurekaserver註解啟動乙個服務註冊中心提供給其他應用:

訪問:http://localhost:1001/,可以看到下面的頁面

建立「服務提供方」

建立提供服務的客戶端,並向服務註冊中心註冊自己

建立乙個基本的spring boot應用。命名為eureka-client,在pom.xml中,加入如下配置:

啟動該工程後,再次訪問http://localhost:1001/  ,發現我們的服務註冊成功了

服務註冊與發現

在分布式系統中,各個子系統都是多個例項存在,這個時候必須要引入乙個服務協調器,用於給呼叫方提供可用的呼叫提供者的命名訊息。服務協調器,如zookeeper,etcd,eureka 他們必須要有的特性 本身高可用,由多個服務節點構成,就算有些節點掛掉也不影響正常執行,避免了單點故障。本身是乙個分布式,...

服務註冊與發現

背景 使用服務的客戶端可以採取客戶端發現 client side discovery 和服務端發現 server side discovery 兩種方式進行服務的發現,那麼我們如何做到這些呢?考慮因素 乙個服務的每個例項公開乙個遠端介面如http rest thrift等。解決方案 實現服務註冊,服...

服務發現與註冊

提供restful api或者其他的api的服務。為了完成一次請求,服務呼叫方需要知道服務例項的ip和埠。平台中的應用一般有多個例項,例項故障重啟和負載均衡都與服務發現有關。通過服務發現機制,可以透明的對多個例項進行訪問,並實現負載均衡。且應用的某個例項隨時可能故障,這時就需要動態配置服務呼叫方的路...