1. 程式人生 > >Consul vs. SkyDNS

Consul vs. SkyDNS

Consul vs. SkyDNS

SkyDNS是一種旨在提供服務發現的工具。它使用多箇中心伺服器,這些伺服器具有高度一致性和容錯性。節點使用HTTP API註冊服務,並且可以通過HTTP或DNS進行查詢以執行發現。

Consul非常相似,但提供了功能的超集。 Consul還依賴多箇中央伺服器來提供強大的一致性和容錯能力。節點可以使用HTTP API或使用代理註冊服務,查詢通過HTTP或DNS進行。

但是,這些系統在許多方面存在差異。 Consul提供了更豐富的健康檢查框架,支援任意檢查和高度可擴充套件的故障檢測方案。 SkyDNS依賴於天真的心跳和TTL,這種方法具有已知的可擴充套件性問題。此外,與Consul執行的豐富健康檢查相比,心跳僅提供有限的活躍度檢查。

在SkyDNS中使用“區域”可以支援多個數據中心;但是,資料是從單個群集中管理和查詢的。如果伺服器在資料中心之間拆分,則複製協議將受到很長的提交時間的影響。如果所有SkyDNS伺服器都位於中央資料中心,則連線問題可能導致整個資料中心失去可用性。此外,即使沒有連線問題,查詢效能也會受到影響,因為必須始終在遠端資料中心中執行請求。

Consul支援多個開箱即用的資料中心,它故意將託管資料作為每個資料中心的範圍。這意味著每個資料中心都執行一個獨立的伺服器群集。如有必要,請求將轉發到遠端資料中心;資料中心內的服務請求永遠不會通過WAN,資料中心之間的連線問題不會影響資料中心內的可用性。此外,一個數據中心的不可用性不會影響任何其他資料中心中的服務發現。