女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Service Mesh框架的對比:Linkerd vs. Istio

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-25 17:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言:

各個細分行業和領域的組織機構正在持續的加速采用微服務架構。隨之而來的是容器的使用以及端點和服務通信的爆炸式增長。企業內部的復雜性和不確定性正在不斷增加。如何在這樣的情況下實現對規模化通信安全性和可見性的管理頗具挑戰。因此,無論是運營者或者開發者都強烈渴望將網絡層的復雜性封裝為一個新的網絡基礎架構層。當此之時,處理此事的最流行的方式是服務網格(Service Mesh)。

因此,在本文中,我們將對比兩種主流的服務網絡的特性,以找出兩者的異同之處,即Linkerd和Istio。文中也會提及有關服務網格使用的爭論,探尋在某種特定的場景下,基于特定的用例和架構,何者比何者更具優勢。

一、服務網格是什么?

服務網格是一個專有的基礎設施層,這一層級的存在可以使得微服務架構內部的服務間通信更加可靠、快捷和安全。其基本的理念是在服務間插入一個代理組成的網絡來實現對網絡層的抽象。一言以蔽之,服務網格的設計初衷就是幫助開發者解決微服務間的交互挑戰。

二、Istio是什么?

Istio是由Google、IBM和Lyft發起的開源的服務網格項目。該項目在2017年推出,并在2018年7月發布了1.0版本。Istio基于Envoy代理并以之為數據層(data plane)。可以說Istio是如今最炙手可熱的服務網格,但由于僅應用于Kubernetes,其應用價值受到某種限制。

三、Linkerd是什么?

Linkerd(音似chickadee),最初是由Buoyant團隊于2016年打造的一個服務網格項目。Linkerd是CNCF的官方項目,基于Twitter的Finagle項目并和后者一樣,最初是由Scala語言編寫,設計理念是支持基于主機(物理主機或者虛擬節點)的部署模式。由于最初版本的內存占用廣受詬病,導致了Conduit項目的開發,Conduit是一個輕量級的服務網格,為Kubernetes定制,用Rust和Go語言編寫。Conduit項目目前已經合并到Linkerd項目,并在2018年7月發布為Linkerd 2.0 版本。鑒于Linkerd 2.x 基于Kubernetes,而Linkerd 1.x 可以基于節點的模式部署,當面臨復雜環境的場景時,人們可以有更靈活的選擇。除非特指,本文的比較都是基于Linkerd 2.x。

四、特性和功能對比

架構

Istio和Linkerd都支持以主流的外掛(Sidecar)模式部署。在這種模式下,每個微服務都被分配一個單獨的代理。微服務間的通信并不直接進行,而是通過自身的代理轉發。代理會將請求路由到目標微服務的代理,該代理再將請求轉發到目標微服務。所有這些服務代理構成了數據層。在服務網格的架構下,數據層由控制層(control plane)來進行配置和監控,控制層一般另行獨立部署。

架構圖示意:以Istio為例。Envoy代理以外掛形式部署。在這樣的部署模型中,代理將注入每個容器單元,因此可以獨立的配置。Istio控制層由很多的組件組成,用來對服務間通信進行配置、度量、控制和安全管控。

控制層

控制層的使命是通過一系列API和工具對服務網格內的代理實現控制。在控制層中,可以將整個數據層作為一個整體來指定認證策略,收集度量指標,進行配置。

Istio的控制層由三個組件構成。首先是Pilot,負責配置數據層。其次是Mixer,負責收集通信流量的度量指標,并響應數據層各種不同的查詢請求,包括授權、訪問控制和配額查詢等。基于所啟用的適配器的不同,Mixer也可與日志和監控系統進行對接。最后是Citadel,這個組件允許開發者基于服務身份認證而非網絡控制建立一個零信任(零信任,zero-trust,簡單講,即假定所有通信方不可信賴并必須進行驗證)機制的網絡環境。Citadel負責為每個服務指定證書,如果有需要,也可以接受外部的證書授權密鑰。

白小白:

Linkerd的控制層由一個Web組件、一個控制組件和一個度量組件組成。Web組件提供了基于Web的管理控制面板。控制組件由多個容器部署組成。完成了控制層的多數功能(包括聚合遙測數據,提供用戶界面API,為數據層提供控制數據等)。度量組件由定制化的Prometheus和Grafana組成。Prometheus負責抓取Linkerd暴露的度量指標并儲存下來。Linkerd本身會生成很多外部面板,Grafana負責渲染和展現這些面板。

數據層

在一個典型的服務網格環境中,服務的部署過程將納入一個專有的外掛代理。如前文所述,服務并不直接向網絡傳遞消息,而是由本身的代理來進行通信。這樣的機制封裝了服務間通信的復雜性。服務網格內的代理之間相互連接,構成了數據層。

默認情況下,Istio使用Envoy作為數據層,Envoy原本是設計用來與其他類型的代理(比如Nginx)來進行工作的。Linkerd使用自有的代理。

平臺支持

盡管聲稱支持大量的環境和框架,但在實踐中,Istio僅能與kubernetes相處融洽,這嚴重限制了他的應用范疇。

Linkerd 2.x目前也需要與Kubernetes協同工作。然而Linkerd 1.x 部署廣泛,并處于活躍的研發狀態,可以在多種環境和框架下工作,包括與AWS ECS、DC/OS和Docker協同工作。能夠支持如此廣泛的環境,得益于Linkerd 1.x 可以基于主機的部署模式,這使得其可以與用戶的環境進行整合而無需以外掛的形式部署。

Linkerd 1.x 主機部署模式:linkerd服務網格可以基于主機部署。基于這樣的模式,同一主機的多個微服務共享一個Linkerd(1.x)實例。

主機部署模式的主要缺點在于單點代理的失敗將影響多個微服務。從另一方面講,主機部署模式相對于外掛模式對資源的消耗更低。

協議支持

基于外掛代理,Istio和Linkerd 2.x 都支持HTTP 1.1, HTTP2, gRPC和TCP協議的服務間通信。但Linkerd 1.x 不支持TCP連接。

實現語言

Istio的控制層和Linkerd 2.x 都是用Go語言編寫的,Istio數據層的Envoy代理是由C++編寫的,Linkerd 2.x 的數據層是用Rust編寫的。Linkerd 1.x 是用Scala編寫的。

安全、加密和授權

Istio的控制層組件提供了如下的安全功能:Citadel:密鑰和證書管理。Pilot:認證策略和安全命名信息的分發。Mixer:授權和審計的管理。外掛:實現代理間基于TLS加密的安全通信。

本文成文時,Linkerd的自動化的TLS加密還處于實驗階段,主機間認證也還未獲支持。

外掛注入

將外掛加入到部署包并且在服務網格的控制層進行注冊的過程即為“外掛注入”。Istio和Linkerd都支持手動和自動的外掛注入。

高可用性

Istio支持高可性,當且僅當配置了Kubernetes的多副本模式,并且打開podAntiAffinity開關的情況下。

linkerd的高可用性目前仍處于實驗階段。

監控和跟蹤

Istio原生支持Prometheus并且集成了Jaeger來進行分布式跟蹤。Linkerd支持Prometheus和Grafana從外部進行監控,但目前并不支持分布式跟蹤。

性能

Linkerd 2.x 在性能上的常規開銷總體上比Istio要低一些。一項關于兩者的性能測試表明,基于一組由HTTP請求組成的測試負載,每秒的千次查詢數(kqps)基準值是30-35kqps,經由代理轉發后,性能會有所下降,Linkderd降到了10-12kqps,而Istio則降到了3.2-3.9kqps。

五、什么時候應該謹慎使用服務網格?

有五個主要的原因,可能阻止你考慮使用服務網格來管理微服務架構所帶來的潛在的網絡復雜性挑戰。

1、服務網格具有排他性

服務網格是一個平臺解決方案,因此是排他性的。這意味著你將被迫在“服從他們的方式”和“基于我自己的業務和技術考量選擇適合的方式”之間做出選擇。根據你所處的形勢,對服務網格的前期投資可能十分昂貴。

而且,如果說控制應用和服務間通信對你的組織來說具有戰略性的重要意義的話,那么使用一個現成的服務網格就沒有意義了。這樣或許可以受益于框架成長帶來的收益 ,但無法對你的目標實現控制。

2、服務網格具有復雜性

服務網格的部署將向你的架構引入相當可觀的復雜性。部署過程需要引入外掛代理,服務網格需要與現有的環境進行整合并在未來的時間里反復的配置,所有的加密可能需要重新設計。基于Kubernetes這樣的平臺建立服務網格的實例,會要求你不僅是服務網格的專家,并且是熟悉Kubernetes的專家。

3、服務網格可能運行緩慢

隨著網格的擴張和路由表的膨脹,通過一系列代理進行的路由通信將慢的痛苦異常。

4、服務網格傾向于建立自治的架構藍圖

使用服務網格來追蹤服務間的通信請求并不總是像最初那樣看起來有價值。比如,假設你的微服務環境與其他團隊的應用和服務相整合,在跨越不同的技術團隊和業務單元的邊界時,翻譯不同的追蹤記錄將十分挑戰,如果是企業級環境或者是云端供應商的情況下,這種挑戰將更加嚴峻。

5、服務網格著眼于開發者層面的考量

服務網格著眼于典型的開發者視角的服務間通信問題。對于規模化且不確定的應用和服務而言,組件之間的交互會天然衍生一系列的復雜性,對這些新興行為的管控,服務網格無能為力。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Service
    +關注

    關注

    0

    文章

    31

    瀏覽量

    14061
  • 微服務架構
    +關注

    關注

    0

    文章

    26

    瀏覽量

    3082
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    主流版本控制工具Git vs Perforce P4:架構模式、性能、大文件管理及分支管理對比詳解

    Git vs Perforce P4,如何選型?架構模式、性能、大文件管理、分支策略四大維度對比,幫你全面了解兩者的核心差異,選擇更合適你團隊需求的版本控制系統。
    的頭像 發表于 06-13 14:52 ?180次閱讀
    主流版本控制工具Git <b class='flag-5'>vs</b> Perforce P4:架構模式、性能、大文件管理及分支管理<b class='flag-5'>對比</b>詳解

    VirtualLab 應用:薄元近似(TEA)與傅里葉模態法(FMM)的光柵建模

    光柵-效率vs. 周期 正弦光柵—選定周期的相位形態 閃耀光柵-效率vs.高度(只用TEA) 閃耀光柵-傳輸相位形態 閃耀光柵-衍射效率 閃耀光柵-效率vs.周期 閃耀光柵-選定周期相位形態
    發表于 05-22 08:56

    接地電阻柜vs其他接地方式對比

    接地電阻柜vs其他接地方式對比: 接地方式原理優點缺點 中性點不接地無中性點接地設備成本低,簡單易引發弧光過電壓 電阻接地串接電阻限制電流抑制過電壓保護設備,需定期維護電阻片 消弧線圈電感補償接地電流自動調諧,適合架空線對電纜系統效果差 直接接地中性點直接接地故障電流大,
    發表于 05-20 08:52

    芯科科技助力藍牙Mesh設備開發

    藍牙Mesh 1.1是藍牙技術聯盟(Bluetooth SIG)發布的最新標準版本,Silicon Labs(芯科科技)作為開發和實施藍牙Mesh標準的主要貢獻者之一,特別制作了藍牙Mesh開發流程頁面,以幫助開發人員快速了解新
    的頭像 發表于 05-16 13:51 ?374次閱讀
    芯科科技助力藍牙<b class='flag-5'>Mesh</b>設備開發

    一種實時多線程VSLAM框架vS-Graphs介紹

    針對現有VSLAM系統語義表達不足、地圖可解釋性差的問題,本文提出vS-Graphs,一種實時多線程VSLAM框架。該方案顯著提升了重建地圖的語義豐富度、可解釋性及定位精度。實驗表明
    的頭像 發表于 04-19 14:07 ?354次閱讀
    一種實時多線程VSLAM<b class='flag-5'>框架</b><b class='flag-5'>vS</b>-Graphs介紹

    中繼組網與MESH組網架構對比

    中繼組網適用于小范圍或中等范圍的室內覆蓋,其硬件成本較低但操作復雜度較高,且網絡穩定性依賴于物理連接。而MESH組網則適用于大范圍、復雜環境下的無線覆蓋,具有高穩定性、自愈性和靈活的擴展性。
    的頭像 發表于 04-01 17:35 ?992次閱讀
    中繼組網與<b class='flag-5'>MESH</b>組網架構<b class='flag-5'>對比</b>

    人形機器人設計中,哪些關鍵部位需要功率器件?典型電壓/電流參數如何設計?

    器件(如腿部關節 vs. 手指關節)。 ? 電參數設計困惑 :不同場景下的電壓/電流需求差異大(如電機堵轉時的峰值電流 vs. 穩態電流)。 ? 熱管理壓力 :功率器件散熱與機器人緊湊結構的矛盾。 希望得到您的專業解答謝謝。
    發表于 03-12 14:05

    藍牙Mesh與WiFi Mesh組網的對比

    將對藍牙Mesh與WiFi Mesh組網技術進行深度對比,從組網原理、網絡結構、性能特點、應用場景等多個維度進行深入剖析,以期為相關領域的從業者提供有價值的參考。
    的頭像 發表于 02-06 16:19 ?2677次閱讀

    藍牙Mesh技術的特點和應用場景

    藍牙Mesh(Bluetooth Mesh)是一種基于藍牙技術的無線通信網絡拓撲結構,它允許在設備之間創建大規模的多點到多點網絡。這種網絡拓撲使得多個藍牙設備能夠相互通信和協作,形成一個互聯互通
    的頭像 發表于 02-06 16:07 ?1390次閱讀

    選擇DSP處理器的考慮因素(ADSP-2115 vs. TMS320C5x)

    電子發燒友網站提供《選擇DSP處理器的考慮因素(ADSP-2115 vs. TMS320C5x).pdf》資料免費下載
    發表于 01-13 15:55 ?0次下載
    選擇DSP處理器的考慮因素(ADSP-2115 <b class='flag-5'>vs.</b> TMS320C5x)

    mesh網絡中常見問題解決方法

    Mesh網絡因其高可靠性和擴展性,在無線通信、物聯網(IoT)、智慧城市等領域得到廣泛應用。然而,Mesh網絡在實際部署和運行過程中,也會遇到各種問題。 1. 網絡覆蓋不足 問題描述 :在某些區域
    的頭像 發表于 11-11 15:21 ?2899次閱讀

    mesh技術在物聯網中的應用

    隨著物聯網(IoT)技術的快速發展,越來越多的設備被連接到互聯網,形成了一個龐大的智能網絡。在這個網絡中,Mesh技術因其獨特的優勢而成為連接這些設備的關鍵技術之一。 Mesh技術簡介 Mesh網絡
    的頭像 發表于 11-11 15:18 ?1869次閱讀

    藍牙MESH是什么?

    藍牙Mesh是一種基于藍牙技術的無線通信網絡協議,專門設計用于創建大規模設備網絡,特別適用于物聯網(IoT)應用。以下是藍牙Mesh的一些關鍵特性和應用:一、藍牙Mesh介紹1.關鍵特性多跳通信
    的頭像 發表于 09-14 08:03 ?3531次閱讀
    藍牙<b class='flag-5'>MESH</b>是什么?

    基于DPU與SmartNIC的K8s Service解決方案

    1.? 方案背景 1.1. Kubernetes Service介紹 Kubernetes Service是Kubernetes中的一個核心概念,它定義了一種抽象,用于表示一組提供相同功能的Pods
    的頭像 發表于 09-02 17:01 ?1342次閱讀
    基于DPU與SmartNIC的K8s <b class='flag-5'>Service</b>解決方案

    在espconn_mesh_lflow_request_timeout后出現xxx mesh is busy的原因?

    如下所示,在espconn_mesh_lflow_request_timeout后出現xxx mesh is busy,調用espconn_mesh_connect重連,還是會出現xxx me
    發表于 07-11 08:17
    主站蜘蛛池模板: 白城市| 昌宁县| 襄樊市| 开封县| 崇礼县| 通渭县| 宁乡县| 施甸县| 泗洪县| 临安市| 绩溪县| 东丽区| 客服| 杭锦旗| 华安县| 武平县| 新田县| 贺州市| 汉寿县| 临澧县| 武穴市| 上思县| 色达县| 来宾市| 马鞍山市| 浦城县| 石河子市| 新营市| 墨竹工卡县| 濮阳市| 新昌县| 湖南省| 赫章县| 兖州市| 石城县| 甘孜| 鲁甸县| 禹城市| 乌苏市| 汝州市| 且末县|