微服務治理平臺產品化實踐與應用微服務化解析

時速雲001發表於2019-04-29

2019年4月24日,由中國資訊通訊研究院主辦的首屆雲原生產業大會在北京成功舉辦。作為 容器雲端計算領軍企業、雲原生技術在國內落地和發展的積極推動者,時速雲資深架構師趙昕受邀參加了此次大會並發表主題演講。

趙昕演講的題目為《微服務治理平臺產品化與應用微服務化》。 隨著微服務被越來越多的企業所瞭解和認識,針對微服務治理平臺的需求和應用微服務化的需求也變得越來越強烈。 因此,目前各廠商面臨的問題是如何提供符合客戶需求的微服務治理平臺產品,以及如何協助客戶來進行應用微服務化的問題。


針對微服務治理平臺產品,目前在市場上有三種主要的形態:


  • 適合虛擬或物理主機搭建的微服務治理平臺產品

  • 容器化的微服務治理平臺產品

  • 與PaaS平臺結合使用的微服務治理平臺產品。


以上各形態的微服務治理平臺,都有其優缺點。 適合傳統方式搭建的微服務治理平臺,其元件都需要單獨的虛擬機器或物理機部署,部署過程相對複雜。 此外,其元件若要實現高可用,要按照傳統方式採用多機熱備部署,佔用大量的主機資源。 而且在此種方式下,微服務治理平臺元件與應用的部署環境分離,加大了運維的工作量與運維難度。


以容器化方式部署的微服務治理平臺,其元件可以執行在具備 Docker 環境的虛擬機器或物理機上。 與容器 PaaS 平臺解耦,可以在不同廠家的平臺上部署。 但是其問題是微服務治理平臺作為一個應用,其訪問入口與 PaaS 入口割裂,不方便使用。


時速雲的微服務治理平臺是與時速雲的 PaaS 平臺結合成為一個整體交付給使用者。 首先,微服務治理平臺元件作為應用部署,能夠接受 PaaS 平臺統一排程管理。 同時,使用者的微服務應用程式碼能夠與時速雲 PaaS 平臺的 Devops 功能結合起來,透過流水線,自動的將開發程式碼專案構建成容器映象,並在 PaaS 平臺上部署起來。 同時 PaaS 平臺可以管理多個叢集,用以將測試環境與生產環境進行分離管理。


時速雲的微服務治理平臺,不是單一技術路線的產品,目前支援 spring cloud、service mesh、dubbo,可以為使用者提供豐富的選擇。 同時,針對分散式部署的微服務,時速雲的微服務治理平臺還提供分散式事務元件,來保證事務的一致性。 此外,為了滿足容器叢集內的應用與外部應用能夠進行互相呼叫,我們還專門定製了 CSB 雲服務匯流排,透過服務訂閱的形式,將叢集內外的應用 API 開放打通。


時速雲不僅僅提供治理平臺,還希望針對不同的使用者能更好與微服務開發結合起來,因此,平臺還提供了微服務開發的模板,使用者可以自行選擇java版本、依賴等來建立自己的程式碼模板,實現快速上手開發微服務。


當提供了相對完畢的微服務治理平臺之後,使用者所面臨的問題是如何將應用進行微服務化。 針對此問題,趙昕進行了六個方面的闡述:


  • 應用微服務化的需求及現況

  • 應用微服務化的優勢

  • 應用微服務化的主要步驟

  • 應用微服務化的方法

  • 應用微服務化過程中的問題

  • 諮詢服務


目前使用者的主要需求在於構建全新的微服務應用及現有的應用改造。 但現況是使用者的技術程度參差不齊,比如相當一部分使用者並沒有Docker使用的經驗,或者使用者有Docker 的使用經驗也有應用微服務化的需求,再有使用者已有應用微服務化的經驗,但形態比較簡單。 因此,時速雲認為應用的微服務化應用需要一套循序漸進的流程來實現: 熟悉Docker、Kubernetes->選取試點應用進行容器化->遷移應用至雲平臺->微服務改造


趙昕表示應用微服務化的價值在於,與傳統應用相比,微服務化的應用有諸多優點。


傳統單體應用主要 缺點 有:

  • 複雜性逐漸變高

  • 技術債務逐漸上升

  • 部署速度逐漸變慢

  • 阻礙技術創新

  • 無法按需伸縮


相比直線,微服務應用的主要優點有:

  • 模組獨立開發

  • 模組獨立部署

  • 獨立的可伸縮性

  • 可重用性

因此,應用的微服務化必定會作為應用所演進的方向,為更多的使用者接受與使用。


當使用者面臨微服務改造的時候,必然會經歷微服務的拆分,趙昕認為主要有四種拆分方法:


基於業務邏輯拆分

將系統中的業務模組按照職責範圍識別出來,每個單獨的業務模組拆分為一個獨立的服務。


基於可擴充套件拆分

將系統中的業務模組按照穩定性排序,將已經成熟和改動不大的服務拆分為穩定服務,將經常變化和迭代的服務拆分為變動服務。


基於可靠性拆分

將系統中的業務模組按照優先順序排序,將可靠性要求高的核心服務和可靠性要求低的非核心服務拆分開來,然後重點保證核心服務的高可用。


基於效能拆分

基於效能拆分和基於可靠性拆分類似,將效能要求高或者效能壓力大的模組拆分出來,避免效能壓力大的服務影響其他服務。


但單純的提出拆分方法,並不能很好滿足使用者各類應用微服務拆分的需求,因此,趙昕指出,平臺提供商在提供治理平臺的同時,還需要提供相應的諮詢服務,結合微服務產品的實現,以及在專案落地過程中所遇到的問題,有針對性的提出微服務化的解決方案,這樣才能實現產品更好的落地,也能幫助客戶快速的實現應用的微服務化,達到平臺提供商與客戶在技術、經濟層面的雙贏。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31538300/viewspace-2642888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章