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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Consul和服务网格的智能网络

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

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

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

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

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

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

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

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

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

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

協(xié)議感知

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

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

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

Consul 作為控制平面

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

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

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

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

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

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

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

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

結(jié)論

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

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

總結(jié)

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

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