您好,登錄后才能下訂單哦!
這篇文章主要介紹“Sidecar模式是怎么工作的”,在日常操作中,相信很多人在Sidecar模式是怎么工作的問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Sidecar模式是怎么工作的”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Sidecar模式是一種將應用功能從應用本身剝離出來作為單獨進程的方式。該模式允許我們向應用無侵入添加多種功能,避免了為滿足第三方組件需求而向應用添加額外的配置代碼。
就像邊車加裝在摩托車上一樣,在軟件架構中,sidecar附加到主應用,或者叫父應用上,以擴展/增強功能特性,同時Sidecar與主應用是松耦合的。
舉個例子,假設現在有6個相互通信的微服務,每個微服務都需要具有可觀察性、監控、日志記錄、配置、斷路器等功能,而所有這些功能都是在微服務中使用一些第三方庫實現的。
這樣一組服務的實際情況可能會非常復雜,增加了應用的整體復雜性,尤其是當每個微服務用不同的語言編寫、使用不同的基于.net、Java、Python等語言的第三方庫……
通過將公用基礎設施相關功能抽象到不同的層來降低微服務的代碼復雜性
由于我們不需要在每個微服務中編寫配置代碼,因此減少了微服務架構中的代碼重復
P應用和底層平臺之間實現了松耦合
Service Mesh層可以位于應用程序側的Sidecar容器中,同一sidecar的多個副本可以附在每個應用旁。
來自單個服務的所有傳入和傳出網絡流量均通過Sidecar代理,完成微服務之間的流量管理、遙測數據收集以及策略的執行等等。從某種意義上來說,服務對于網絡是無感知的,只知道所附加的sidecar代理。這就是Sidecar模式工作的本質,它將網絡依賴抽象成了Sidecar。
在Service Mesh中,我們需要了解Data Plane和Control Plane兩個概念——
Data Plane的作用是處理網格內服務間的通信,并完成服務發現、負載均衡、流量管理、健康檢查等功能;數據平面的作用是處理網格內服務之間的通信,并負責實現服務發現、負載平衡、流量管理、健康檢查等功能;
Control Plane的作用是管理和配置Sidecar來執行策略并收集遙測(telemetry);
在開源PaaS Rainbond中,提供了“基于envoy的7層網絡治理插件”,Envoy本身可以原生運行于Rainbond插件體系之中,用戶也可以選擇和實現其他插件,Rainbond運行時本身提供了完善的基礎服務。例如Rainbond根據Istio的成熟程度,采用部分集成的策略,進行了Mixer集成(智能控制策略)和Citadel集成(安全通信集成)。
其中由Lyft開源的Envoy是為云原生應用設計的代理,在服務旁運行,以平臺無關的方式提供必要的特性,所有到服務的流量都通過Enovy代理。
到此,關于“Sidecar模式是怎么工作的”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。