流程說明:(1)provider(提供者)繫結指定埠並啟動服務
(2)指供者連線註冊中心,併發本機 ip、埠、應用資訊和提供服務資訊傳送至註冊中心儲存
(3) consumer(消費者),連線註冊中心 ,並傳送應用資訊、所求服務資訊至註冊中心
(4)註冊中心根據 消費 者所求服務資訊匹配對應的提供者列表傳送至consumer 應用快取。
(5) consumer 在發起遠端呼叫時基於快取的消費者列表擇其一發起呼叫。
(6) provider 狀態變更會實時通知註冊中心、在由註冊中心實時推送至consumer設計的原因:
consumer 與 provider 解偶,雙方都可以橫向增減節點數。 註冊中心對本身可做對等集群,可動態增減節點,並且任意一台宕掉後,將自動切換到另一台(7) 去中心化,雙方不直接依懶註冊中心,即使註冊中心全部宕機短時間 內也不會影響服務的呼叫
(8)服務提供者無狀態,任意一台宕掉後,不影響使用
服務註冊與發現
在分布式系統中,各個子系統都是多個例項存在,這個時候必須要引入乙個服務協調器,用於給呼叫方提供可用的呼叫提供者的命名訊息。服務協調器,如zookeeper,etcd,eureka 他們必須要有的特性 本身高可用,由多個服務節點構成,就算有些節點掛掉也不影響正常執行,避免了單點故障。本身是乙個分布式,...
服務註冊與發現
背景 使用服務的客戶端可以採取客戶端發現 client side discovery 和服務端發現 server side discovery 兩種方式進行服務的發現,那麼我們如何做到這些呢?考慮因素 乙個服務的每個例項公開乙個遠端介面如http rest thrift等。解決方案 實現服務註冊,服...
服務發現與註冊
提供restful api或者其他的api的服務。為了完成一次請求,服務呼叫方需要知道服務例項的ip和埠。平台中的應用一般有多個例項,例項故障重啟和負載均衡都與服務發現有關。通過服務發現機制,可以透明的對多個例項進行訪問,並實現負載均衡。且應用的某個例項隨時可能故障,這時就需要動態配置服務呼叫方的路...