日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Consul和服务网格的智能网络

發(fā)布時(shí)間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Consul和服务网格的智能网络 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在過(guò)去的一年里,服務(wù)網(wǎng)格技術(shù)獲得了極大的興趣。盡管服務(wù)網(wǎng)格的概念并不新鮮,但是實(shí)現(xiàn)細(xì)節(jié)對(duì)某些人來(lái)說(shuō)卻是新鮮的。HashiCorp Consul是一個(gè)開(kāi)源工具,提供服務(wù)發(fā)現(xiàn)、健康檢查、負(fù)載均衡和全局分布的鍵值存儲(chǔ)。這些特性使Consul可以作為服務(wù)網(wǎng)格理想的控制平面。這篇文章討論了一些關(guān)于采用服務(wù)網(wǎng)格的基本原則,以及Consul如何類似Istio, Linkerd和Envoy當(dāng)作項(xiàng)目的控制平面。

在深入研究服務(wù)網(wǎng)格之前,了解基本原則和在考慮服務(wù)網(wǎng)格等技術(shù)時(shí)可用的選項(xiàng)是有幫助的。

啞管道或智能網(wǎng)絡(luò)

“啞管道”設(shè)計(jì)注重簡(jiǎn)單性,并假設(shè)網(wǎng)絡(luò)是“啞”的。這個(gè)設(shè)計(jì)框架可以用端到端原則來(lái)最好地解釋。它指出,通信或網(wǎng)絡(luò)特性應(yīng)該盡可能地接近應(yīng)用程序,因此應(yīng)用程序最終要做大量的繁重工作(重試、回退、斷路、請(qǐng)求路由等)。因此,在每個(gè)應(yīng)用程序中都可能存在重復(fù)的代碼來(lái)重新實(shí)現(xiàn)這些特性。通常情況下,負(fù)載均衡器用于在應(yīng)用程序之外實(shí)現(xiàn)這種功能。這使得網(wǎng)絡(luò)操作簡(jiǎn)單,易于推理。

“智能網(wǎng)絡(luò)”設(shè)計(jì)在重試、回退、斷路、負(fù)載平衡等方面采取了一種帶外的方式。它提供了基于網(wǎng)絡(luò)的這些特性的實(shí)現(xiàn),因此多個(gè)應(yīng)用程序可以從這些特性中獲益,而應(yīng)用程序的實(shí)現(xiàn)工作很少甚至沒(méi)有。這基本上是服務(wù)網(wǎng)格所采用的方法。遙測(cè)、流量控制、服務(wù)發(fā)現(xiàn)和網(wǎng)絡(luò)策略控制等功能也可以直接提供。然而,服務(wù)網(wǎng)格成為了應(yīng)用程序的隱式依賴關(guān)系,因此很難對(duì)整個(gè)系統(tǒng)進(jìn)行推理。例如,請(qǐng)求重試行為可能在應(yīng)用程序源代碼和網(wǎng)絡(luò)配置中都指定。

控制與數(shù)據(jù)平面分離

與聯(lián)網(wǎng)類似,服務(wù)網(wǎng)格通常由控制平面和數(shù)據(jù)平面組成。這將性能敏感的數(shù)據(jù)路徑與系統(tǒng)的其他部分分隔開(kāi)來(lái)。

控制平面負(fù)責(zé)決定在何處發(fā)送流量和配置數(shù)據(jù)平面。此外,它還負(fù)責(zé)網(wǎng)絡(luò)策略執(zhí)行和向數(shù)據(jù)平面提供服務(wù)發(fā)現(xiàn)數(shù)據(jù)等功能。由于控制平面是服務(wù)網(wǎng)格的一個(gè)重要組成部分,它必須是高度可用和分布式的。

數(shù)據(jù)平面提供了從應(yīng)用程序轉(zhuǎn)發(fā)請(qǐng)求的能力,由于是數(shù)據(jù)路徑,因此得名。數(shù)據(jù)平面還可以提供更復(fù)雜的特性,比如健康檢查、負(fù)載均衡、斷路、超時(shí)和重試、身份驗(yàn)證和授權(quán)。數(shù)據(jù)平面處于從一個(gè)應(yīng)用程序到另一個(gè)應(yīng)用程序的數(shù)據(jù)流的關(guān)鍵路徑,因此需要高吞吐量和低延遲。

協(xié)議感知

協(xié)議感知是設(shè)計(jì)數(shù)據(jù)平面時(shí)要考慮的另一個(gè)重要因素。數(shù)據(jù)平面可能在OSI模型的不同層實(shí)現(xiàn),可能知道也可能不知道協(xié)議。

讓我們以四層協(xié)議—傳輸層為例。第4層協(xié)議的兩個(gè)常見(jiàn)示例是TCP和UDP。TCP用于大多數(shù)常見(jiàn)協(xié)議,如HTTP、SSH、SMTP和大多數(shù)數(shù)據(jù)庫(kù)。UDP用于延遲敏感的應(yīng)用程序,如VOIP、視頻會(huì)議和對(duì)等協(xié)議。使用此層的數(shù)據(jù)平面可以認(rèn)為是“普遍”兼容的,因?yàn)樗褂肨CP/UDP等較低級(jí)別的協(xié)議來(lái)執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)。這個(gè)數(shù)據(jù)平面可以提供高性能,因?yàn)檗D(zhuǎn)發(fā)是在不考慮數(shù)據(jù)包內(nèi)容的情況下進(jìn)行的。這種方法的一個(gè)缺點(diǎn)是很難提供復(fù)雜的或請(qǐng)求敏感的特性。

現(xiàn)在讓我們以七層協(xié)議—應(yīng)用層為例。使用此層的數(shù)據(jù)平面具有應(yīng)用程序感知,可以使用附加信息來(lái)執(zhí)行復(fù)雜的路由決策。例如,通過(guò)解析HTTP請(qǐng)求,可以使用請(qǐng)求路徑或請(qǐng)求頭等請(qǐng)求內(nèi)容來(lái)更改路由和轉(zhuǎn)發(fā)行為。這種方法的一個(gè)缺點(diǎn)是,由于正在檢查包的內(nèi)容,因此它可能產(chǎn)生較低的性能。另一個(gè)挑戰(zhàn)是應(yīng)用層協(xié)議的多樣性。雖然HTTP很常見(jiàn),但是有無(wú)數(shù)其他的協(xié)議被使用。

Consul 作為控制平面

Consul提供了許多功能,使其成為一個(gè)理想的控制平面。Consul的體系結(jié)構(gòu)確保了它的高可用性,并支持多數(shù)據(jù)中心拓?fù)洹onsul的主要目標(biāo)之一是提供服務(wù)發(fā)現(xiàn),它可以與啞管道和智能網(wǎng)絡(luò)方法一起工作。在Dumb Pipe設(shè)計(jì)中,Consul可以提供一流的DNS接口,應(yīng)用程序可以使用它來(lái)發(fā)現(xiàn)其他應(yīng)用程序并直接通信,而無(wú)需使用中間數(shù)據(jù)平面或服務(wù)網(wǎng)格。此外,這些應(yīng)用程序可以使用Consul的鍵值存儲(chǔ)來(lái)存儲(chǔ)重試、超時(shí)和斷路設(shè)置,并在需要時(shí)請(qǐng)求它們。

在智能網(wǎng)絡(luò)設(shè)計(jì)用例中,Consul可以通過(guò)配置數(shù)據(jù)平面的API提供服務(wù)發(fā)現(xiàn)和健康檢查信息。Consul K/V存儲(chǔ)也可以用于持久狀態(tài),比如網(wǎng)絡(luò)策略。在之前的一篇博客文章中,我們探討了Consul如何用于負(fù)載均衡,當(dāng)查看在微服務(wù)體系結(jié)構(gòu)中Consul負(fù)載均衡的常見(jiàn)策略時(shí),這可能是一個(gè)很好的解讀。

Consul如何配合服務(wù)網(wǎng)格?

服務(wù)網(wǎng)格的目標(biāo)是為服務(wù)通信提供服務(wù),并提供一些更高級(jí)別的特性,如可觀察性、策略執(zhí)行、重試、備份和安全性。它由一個(gè)控制平面,一個(gè)(典型的)附帶可以提供諸如政策實(shí)施等的適配器的7層數(shù)據(jù)平面組成。Consul可以用作控制平面,而數(shù)據(jù)平面有很多選擇,包括項(xiàng)目Envoy,Linkerd,NGINX,HAProxy,Traefikand,Fabio。

讓我們以Istio為例。Istio是一個(gè)連接、管理和保護(hù)微服務(wù)的平臺(tái)。Istio的控制平面由導(dǎo)航儀、混合器和Istio-auth組成。

Pilot旨在抽象特定于平臺(tái)的服務(wù)發(fā)現(xiàn)機(jī)制,并提供數(shù)據(jù)平面(Envoy)可使用的標(biāo)準(zhǔn)數(shù)據(jù)格式。由于Consul提供了豐富的服務(wù)發(fā)現(xiàn)API,因此可以將Pilot配置為使用該數(shù)據(jù)來(lái)發(fā)現(xiàn)在數(shù)據(jù)中心中運(yùn)行的服務(wù)。在Consul旁邊安裝Istio的說(shuō)明可以在https://istio.io/docs/setup/consul/找到。

mix的目標(biāo)是成為Istio的策略執(zhí)行組件。它將策略決策從應(yīng)用程序轉(zhuǎn)移到操作人員可以管理的配置中。Consul有一個(gè)鍵值存儲(chǔ),可用于存儲(chǔ)操作符定義的策略,混合器可以與Consul接口,并在服務(wù)網(wǎng)格中執(zhí)行這些策略。

Istio-Auth旨在提供服務(wù),以服務(wù)于使用相互TLS的終端用戶身份驗(yàn)證,并為網(wǎng)格中運(yùn)行的每個(gè)服務(wù)提供身份驗(yàn)證。在HashiCorp中,我們還構(gòu)建了具有PKI秘密后端的Vault,該后端可用于動(dòng)態(tài)生成證書(shū)。Istio-Auth可以使用這個(gè)特性向數(shù)據(jù)平面提供證書(shū),數(shù)據(jù)平面將強(qiáng)制執(zhí)行服務(wù)到服務(wù)通信的相互TLS。

結(jié)論

Consul提供了許多功能,使其作為服務(wù)網(wǎng)格理想的控制平面。這篇文章詳細(xì)介紹了在查看服務(wù)網(wǎng)格時(shí)應(yīng)該考慮的一些基本原則,并展示了Consul如何可以用來(lái)驅(qū)動(dòng)服務(wù)網(wǎng)格。

對(duì)Consul的功能感興趣,如服務(wù)發(fā)現(xiàn),關(guān)鍵價(jià)值存儲(chǔ)等?首先查看https://www.consul.io/downloads.html。

總結(jié)

以上是生活随笔為你收集整理的Consul和服务网格的智能网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。