天天看點

微服務架構強化的實時通信

本文講的是<b>微服務架構強化的實時通信</b>【編者的話】本文探讨了微服務架構模式是如何強化實時通信的,比如資料同步、動态RPC、釋出/訂閱消息傳遞、許可資訊等以及相關的架構。

一個強大的後端支撐可以産生更加動态、可擴充和易于管理的部署政策,它可以用于實時通信和協作。

前不久,這篇文章已經開始了一個關于微服務的盛大宣言:化整為零!分而治之!“......企業IT架構師知道該怎麼做。盡管如今幾乎沒有必要了。事實上,大多數企業架構以低耦合、高内聚節點叢集的模式來建構後端都是可能的。

但是這種靈活性是有代價的:企業級微服務架構很快變得高度複雜。負載均衡叢集,到端點的路由請求,分布式消息編排,分片存儲層以及裝置并發讀寫通路等等都還隻是其中的一部分挑戰。

随着從請求-響應工作流到實時資料流的不斷增長 -- 無論是金融價格分發,社交消息,協作應用還是物聯網(IoT)資料聚合--我們都必須重新考慮我們的服務互動方式和資源共享。如果你負責實施和支援實時通信和協作,加強後端的支撐将有助于你建立更動态,可擴充和易于管理的部署政策。

<a href="http://dockerone.com/uploads/article/20161101/2d3f1368b54f209202e4bd649ddba598.png" target="_blank"></a>

傳統微服務架構

我們的核心挑戰是降低複雜性并增強可擴充性。有一個解決方案可以同時解決這兩個問題:一個強勁的骨幹網,用于統一資源通路和權限并改善路由和内部服務通信。這還需要一系列關鍵的改變:

資料同步替代分離的資料存儲和消息傳遞——傳統上,消息傳遞和資料存儲是分離的。更新寫入存儲層;節點通過釋出-訂閱機制接收更新通知,然後使用自己的資料庫連接配接查詢新狀态。這種方式伴随而來的是每個節點的額外連接配接和每次更新的多個步驟開銷,進而導緻更高的複雜性和性能的下降。

進入系統前的消息權限——在許多部署中,單獨的微服務必須與Active Directory伺服器或權限認證建立連接配接以确定給定的用戶端是否可以執行特定操作。将消息權限移動到網關層,并確定消息不僅有效而且有權限,提高了安全性并且同時通過集中責任也降低了複雜性。這還有助于過濾掉惡意消息,在它們進入内部網絡/虛拟私有雲之前。

<a href="http://dockerone.com/uploads/article/20161101/0b86520d0ec12932682e937c48330a68.png" target="_blank"></a>

一個部署場景

有不少的系統可以滿足這些要求的方面,但真正的效果取決于他們結合的好不好。 RPC可用于預訂系統的事務,并傳回資料同步記錄名稱/流句柄以跟蹤其狀态。事件可用于在股票交易應用程式中快速廣播訓示價格更新,但最後通過資料同步提供最終價格。将所有這些功能從微服務和用戶端連接配接到一個堅實、安全、可橫向擴充的骨幹網,能夠顯着降低複雜性,同時提高可擴充性和容錯能力。

===========================================

譯者介紹

朱高校,H3C公司,目前從事OpenStack 、Docker相關研究工作。

原文釋出時間為:2016-10-31

本文作者:朱高校

本文來自雲栖社群合作夥伴Dockerone.io,了解相關資訊可以關注Dockerone.io。

原文标題:微服務架構強化的實時通信