一般我們常見的RPC框架都包含如下三個(gè)部分:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

  • 注冊中心,用于服務(wù)端注冊遠(yuǎn)程服務(wù)以及客戶端發(fā)現(xiàn)服務(wù)

  • 服務(wù)端,對外提供后臺服務(wù),將自己的服務(wù)信息注冊到注冊中心

  • 客戶端,從注冊中心獲取遠(yuǎn)程服務(wù)的注冊信息,然后進(jìn)行遠(yuǎn)程過程調(diào)用
    上面提到的注冊中心其實(shí)屬于服務(wù)治理,即使沒有注冊中心,RPC的功能也是完整的。之前我大多接觸的是基于zookeeper的注冊中心,這里基于consul來實(shí)現(xiàn)注冊中心的基本功能。

Consul的一些特點(diǎn):

  • Raft相比Paxos直接

此外不多描述,還沒研究raft

  • 支持?jǐn)?shù)據(jù)中心,可以用來解決單點(diǎn)故障之類的問題

  • 集成相比zookeeper更加簡單(代碼量少,邏輯清晰簡單)

  • 支持健康檢查,支持http以及tcp

  • 自帶UI管理功能,不需要額外第三方支持。(zookeeper需要單獨(dú)部署zkui之類的第三方工具)

  • 支持key/value存儲

網(wǎng)友評論