国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
微服務(wù)注冊中心為什么要使用Consul?

一、Eureka不建議使用

在選型微服務(wù)注冊中心時,一定要長遠考慮,SpringCloud提供了Eureka作為服務(wù)注冊中心,我們可以開箱即用,但是,對于服務(wù)注冊中心隨著業(yè)務(wù)需求的不斷變化,對服務(wù)注冊中心提出了更高要求,Eureka就不太適合了,看到“Eureka 2.0 開源工作宣告停止,繼續(xù)使用風(fēng)險自負”。


這意味著如果開發(fā)者繼續(xù)使用作為 2.x 分支上現(xiàn)有工作 repo 一部分發(fā)布的代碼庫和工件,則將自負風(fēng)險,對此,專家建議開發(fā)者盡快將相關(guān)業(yè)務(wù)遷移到 Consul/ZooKeeper/Etcd 等工具上。

二、Consul與Zookeeper的區(qū)別

【編者的話】Consul是一個在國外流行的服務(wù)發(fā)現(xiàn)和配置共享的服務(wù)軟件。本文翻譯自Consul的官方文檔,文中重點講述:在與主流同類軟件ZooKeeper、Doozerd以及Etcd比較時,Consul的優(yōu)勢所在。


ZooKeeper、Doozerd、Etcd在架構(gòu)上都非常相似,它們都有服務(wù)節(jié)點(server node),而這些服務(wù)節(jié)點的操作都要求達到節(jié)點的仲裁數(shù)(通常,節(jié)點的仲裁數(shù)遵循的是簡單多數(shù)原則)。此外,它們都是強一致性的,并且提供各種原語。通過應(yīng)用程序內(nèi)部的客戶端lib庫,這些原語可以用來構(gòu)建復(fù)雜的分布式系統(tǒng)。

Consul在一個單一的數(shù)據(jù)中心內(nèi)部使用服務(wù)節(jié)點。在每個數(shù)據(jù)中心中,為了Consule能夠運行,并且保持強一致性,Consul服務(wù)端需要仲裁。然而,Consul原生支持多數(shù)據(jù)中心,就像一個豐富gossip系統(tǒng)連接服務(wù)器節(jié)點和客戶端一樣。

當(dāng)提供K/V存儲的時候,這些系統(tǒng)具有大致相同的語義,讀取是強一致性的,并且在面對網(wǎng)絡(luò)分區(qū)的時候,為了保持一致性,讀取的可用性是可以犧牲的。然而,當(dāng)系統(tǒng)應(yīng)用于復(fù)雜情況時,這種差異會變得更加明顯。

這些系統(tǒng)提供的語義對開發(fā)人員構(gòu)建服務(wù)發(fā)現(xiàn)系統(tǒng)很有吸引力,但更重要的是,強調(diào)開發(fā)人員要構(gòu)建這些特性。ZooKeeper只提供一個原始的K/V值存儲,并要求開發(fā)人員構(gòu)建他們自己的系統(tǒng)來提供服務(wù)發(fā)現(xiàn)功能。相反的是,Consul提供了一個堅固的框架,這不僅僅是為了提供服務(wù)發(fā)現(xiàn)功能,也是為了減少推測工作和開發(fā)工作量??蛻舳酥恍韬唵蔚赝瓿煞?wù)注冊工作,然后使用一個DNS接口或者HTTP接口就可以執(zhí)行工作了,而其他系統(tǒng)則需要你定制自己的解決方案。

一個令人信服的服務(wù)發(fā)現(xiàn)框架必須包含健康檢測功能,并且考慮失敗的可能性。要是節(jié)點失敗或者服務(wù)故障了,即使開發(fā)人員知道節(jié)點A提供Foo服務(wù)也是沒用的。Navie系統(tǒng)利用的是心跳、周期性更新和TTLs,這些系統(tǒng)不僅需要工作量與節(jié)點數(shù)量成線性關(guān)系,并且對服務(wù)器的固定數(shù)量提出了要求。此外,故障檢測窗口的存活時間至少要和TTL一樣長。

ZooKeeper提供了臨時節(jié)點,這些臨時節(jié)點就是K/V條目,當(dāng)客戶端斷開連接時,這些條目會被刪除。雖然這些臨時節(jié)點比一個心跳系統(tǒng)更高級,但仍存在固有的擴展性問題,并且會增加客戶端的復(fù)雜性。與ZooKeeper服務(wù)器端連接時,客戶端必須保持活躍,并且去做持續(xù)性連接。此外,ZooKeeper還需要胖客戶端,而胖客戶端是很難編寫,并且胖客戶端會經(jīng)常導(dǎo)致調(diào)試質(zhì)詢。

Consul使用一個完全不同的架構(gòu)進行健康檢測。Consul客戶端可以運行在集群中的每一個節(jié)點上,而不是擁有服務(wù)器節(jié)點,這些Consul客戶端屬于一個gossip pool,gossip pool提供了一些功能,包括分布式健康檢測。gossip協(xié)議提供了一個高效的故障檢測工具,這個故障檢測工具可以應(yīng)用到任意規(guī)模的集群,而不僅僅是作用于特定的服務(wù)器組。同時,這個故障檢測工具也支持在本地進行多種健康檢測。與此相反,ZooKeeper的臨時節(jié)點只是一個非常原始的活躍度檢測。因為有了Consul,客戶端可以檢測web服務(wù)器是否正在返回200狀態(tài)碼,內(nèi)存利用率是否達到臨界點,是否有足夠的數(shù)據(jù)存儲盤等。此外,ZooKeeper會暴露系統(tǒng)的復(fù)雜性給客戶端,為了避免ZooKeeper出現(xiàn)的這種情況,Consul只提供一個簡單HTTP接口。

Consul為服務(wù)發(fā)現(xiàn)、健康檢測、K/V存儲和多數(shù)據(jù)中心提供了一流的支持。為了支持任意存儲,而不僅僅是簡單的K/V存儲,其他系統(tǒng)都要求工具和lib庫要率先建立。然而,通過使用客戶端節(jié)點,Consul提供了一個簡單的API,這個API的開發(fā)只需要瘦客戶端就可以了, 而且,通過使用配置文件和DNS接口,開發(fā)人員可以建立完整的服務(wù)發(fā)現(xiàn)解決方案,最終,達到避免開發(fā)API的目的。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SpringBoot b2b2c 多用戶商城系統(tǒng)(十三):注冊中心 Consul 使用詳解
注冊中心原理和選型:Zookeeper、Eureka、Nacos、Consul和Etcd
微服務(wù)理論系列(一):服務(wù)發(fā)現(xiàn)四問四答(摘抄)
阿里面試敗北:5種微服務(wù)注冊中心如何選型?這幾個維度告訴你!
基于Spring Cloud的微服務(wù)架構(gòu)分析
Spring Cloud Netflix之Eureka 相關(guān)概念
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服