Robert Whiteley translate by Grace安全
基於微服務的架構是將來的趨勢,可是實現這種架構會面臨許多困難。現代應用架構遠比過去的架構複雜,所以實現微服務架構將會帶來了一系列特殊的挑戰,而服務網格能夠幫咱們解決不少問題。網絡
最近一段時間,管理者再也不專一於除錯單個應用程序伺服器,相反,現代系統就像是一羣牛,研究總體的行爲遠比單個的伺服器有意義,分散式系統就是一個典型。架構
微服務是一種分散式架構,目的在於經過不斷調整自身以適應當前流量情況的變化,例如,有一組處理客戶端請求路由的容器,改變這組容器,反過來也意味着路由表在不斷變化,由此反映了應用程序端點的變化位置。與此同時,在任何架構體系中都會有過去的遺留物,從必須使用單個大型資料庫伺服器的應用程序到捆綁API以使其看起來是以服務爲重點的遺留系統。負載均衡
而服務網格是當前最早進的微服務模式。它創建在容器以及容器編排之上,配有處理內部服務通信的專用控制面。它負責協調分散式網格的微服務所需的安全性,路由,身份驗證,受權和相似功能,服務網格將這些功能從應用程序(或應用程序的服務元件)中剝離出來做爲可程式設計的基礎元件。雖然不是全部的公司都須要如此複雜的服務網格(儘管這些公司大部分都執行著成百上千的服務),但服務網格正迅速成爲那些但願執行生產級微服務的公司的預設架構。運維
如下是八種實現服務網格的方法,能夠幫助您平滑過渡到微服務ide
一、改進微服務的訊息處理機制。服務網格確保你能監控到整個架構層,不只能夠跟蹤到網路中的伺服器地址,還能夠跟蹤到傳達伺服器地址資訊的訊息。例如,你可能想要跟蹤「失敗」訊息,但這些訊息在傳統雲架構中一般會丟失。服務網格的好處是既能夠確保訊息的傳遞,又會在訊息未到達目的地時返回錯誤資訊。微服務
二、利用與傳統應用程序相同的運維方式。對於企業級網路來講,可定製性和靈活性是最重要的。服務網格是爲適應現代分散式應用程序而設計的。可是底層的技術如入口控制器,負載均衡器,以及代理都和傳統單體應用的資料層面的技術相同。在實現服務網格的過程當中,組織能夠利用到與運營現代、基於軟體的應用程序交付基礎設施相同的技術與技能。優化
三、靈活使用多種雲服務。服務網格解決了現代應用的雲網絡問題。支撐起服務網格的資料平面和控制平面的技術獨立於任何特定架構,所以它們能夠在不管是裸機,容器仍是虛擬機器的公有或私有的架構上執行。這種靈活特性甚至容許服務網格處理將來的應用程序架構,從而發揮其規模化、全球複製以及深層效能調節等優點。您的服務網格將成爲運做模式化雲架構場景下,一切潛在優點的實現保障。編碼
四、提升對微服務的可見性。分散式系統的指標對於咱們而言就像是一個黑盒子,而網格服務爲咱們提供了一種更深刻觀察分散式系統的指標的途徑。它會隨時間收集效能指標,爲團隊提供服務可用性的長期指標。這爲操做員提供了一種觀察服務可靠性和效能的方式,使他們可以逐步優化系統。加密
五、更高效的運維以及更有效的執行SLA(服務等級協議)。服務網格提供的追蹤功能對除錯和故障排除相當重要,與此同時,它也確保服務執行了服務等級協議(SLA)。服務網格執行了不少工,包括執行策略以及追蹤檢視這些策略是否被知足。它爲管理者提供了一個能夠在網路層實施雲應用管理和策略的場所。
六、簡化微服務實現。服務網格的另外一大優勢是能夠輕鬆部署它們。過去的解決方案要求開發人員將服務內功能編碼到每一個微服務中。這須要重寫應用程序並在不一樣的程式語言中維護各類庫。而服務網格幫開發人員抽象了這些事務。開發人員能夠簡單地呼叫必要的訊息傳遞和服務發現功能就能夠輕鬆的部署它們,而微服務的原始碼只用包含業務邏輯相關的程式碼。
七、加快新服務的上線時間。過去的庫解決方案,如Finagle、Hystrix和Stubby,須要開發人員長時間的介入而且迫使開發人員將冗餘功能編碼到每個服務中。另外一個更簡單的方法是在每一個微服務中放置一個sidecar代理並將它們連線在一塊兒,這正是服務網格所擅長的,所以將來將會有更多的雲應用選擇服務網格架構。簡而言之,服務網格保證了開發者的生產力,使他們可以更快地將更多的服務推向市場。
八、保障服務間的通信安全。服務之間通信有可能跨雲,跨資料中心,或者跨大陸,而服務網格保障了這些通信的安全,它封裝了全部的通信,而且在控制器層面協調這些通信,經過管道內加密,聯絡人策略和服務許可權解決了安全問題。
閱讀更多
開源PaaS Rainbond原生支持Service Mesh服務網格,用非入侵、透明化的方式解決服務發現和註冊、彈性伸縮與負載均衡、容錯處理(斷路器與限流)、監控與警報、數據存儲與共享、日誌分析等等微服務架構難題,提供開箱即用、簡單強大的微服務體驗。