天天看點

雲原生下的微服務實踐 | 注冊中心管理 & Serverless 編排

本文整理自阿裡雲容器平台技術專家冬島和阿裡雲進階工程師草谷的直播分享。

微服務注冊中心治理的難點

微服務架構的一個核心理念就是讓微服務之間解耦,每一個微服務都可以獨立的橫向擴充,但這也帶來了一定的複雜性。

例如,當業務達到一定的規模之後,微服務的數量和單個微服務執行個體的數就會變的很多,進而導緻微服務注冊中心需要管理很多服務位址,同時還需要給所有的上下遊提供服務注冊和服務發現的能力。這無疑增加了微服務注冊中心的維護難度。同時,微服務架構對注冊中心的性能和穩定性提出了更高的要求,這給注冊中心的運維開發人員,帶來了不少的挑戰。

此外,在服務更新的過程中需要手動的做灰階的疊代。而傳統的部署模式存在一個很大的弊端,就是需要提前準備好資源并部署好應用,傳統的部署模式不能很好的根據業務的實時請求做自動彈性,那麼這部分提前準備的備援資源就是極大的浪費。

可見,托管一個基于微服務架構的業務需要解決注冊中心的問題,還需要解決應用執行個體彈性和流量管理的問題,最好還能讓資源按需使用、按量付費。

針對上面的這些問題,今天我們給大家帶來兩款雲産品:阿裡雲微服務引擎 MSE 和 阿裡雲容器服務 Knative。MSE 給您帶來穩定可靠的注冊中心服務,讓您免去運維注冊中心的煩惱。Knative 給您帶來雲原生應用 Serverless 編排的能力,讓您的應用可以按需使用、按量付費,節省您的 IaaS 成本。

微服務引擎 MSE

MSE,是 Microservice Engine 的縮寫,名字叫微服務引擎,顧名思義,是解決微服務領域問題的一款産品。

微服務引擎位址:

https://www.aliyun.com/product/mse

他是微服務注冊中心和配置中心的一個免運維全托管平台,可以提供給使用者獨享型的執行個體叢集,并且帶有豐富的管理頁面。

目前,它支援多種主流的微服務引擎,例如 ZooKeeper,Nacos,Eureka,完全相容開源引擎标準接口。也可以在阿裡雲官網首頁搜尋欄中搜尋關鍵字 MSE,也可進入産品介紹頁。

MSE 主要應用在以下 3 個場景:

  • 作為微服務的注冊中心,提供微服務應用的服務注冊和發現功能。這個是微服務引擎應用最廣泛的場景,也是大家最為熟悉的場景;
  • 為分布式應用提供一個中心化的配置管理功能。比如将應用的 DB 連結資訊存儲在配置中心裡;
  • 為分布式應用中提供一緻性協調的功能。例如基于 MSE 完成一個分布式鎖。
雲原生下的微服務實踐 | 注冊中心管理 & Serverless 編排

Knative (雲原生的應用 Serverless 編排引擎)

Knative 是一款基于 Kubernetes 的應用 Serverless 編排引擎。Knative 一個很重要的目标就是制定雲原生、跨平台的應用 Serverless 編排标準。Knative 是通過整合容器建構(或者函數)、工作負載管理(彈性)以及事件模型這三者來實作的這一應用 Serverless 标準。Knative 社群的主要貢獻者有 Google、Pivotal、IBM、Red Hat。可見其陣容強大。阿裡雲容器服務已經提供了[ Knative 能力](

https://cs.console.aliyun.com/#/k8s/knative/component

),可以到

這裡

檢視文檔擷取幫助資訊。

雲原生下的微服務實踐 | 注冊中心管理 & Serverless 編排

Knative Serving 核心能力就是其簡潔、高效的應用托管服務,這也是其支撐 Serverless 能力的基礎。Knative 提供的應用托管服務可以大大降低直接操作 Kubernetes 資源的複雜度和風險,提升應用的疊代和服務傳遞效率。當然作為 Severlesss Framework 就離不開按需配置設定資源的能力,阿裡雲容器服務 Knative 可以根據您應用的請求量在高峰時期自動擴容執行個體數,當請求量減少以後自動縮容執行個體數,可以非常自動化的幫助您節省成本。

Serving 還提供了強大的流量管理能力和靈活的灰階釋出能力。流量管理能力可以根據百分比切分流量,灰階釋出能力可以根據流量百分比進行灰階,同時灰階釋出能力還能通過自定義 tag 的方式進行上線前的測試,非常便于和自己的 CICD 系統內建。

MSE + Knative 實操演練

這部分請請大家盡量看視訊,直接感受 Knative 對應用 Serverless 編排的效果。

knative-mse-實操演練,詳情請點選

小結

MSE 作為一款雲産品可以給您提供穩定、可靠的注冊中心服務。相對于您自建注冊中心而言,MSE 有專業的人員幫助您管理叢集,并且可以做到費用比您自建叢集使用的 ECS 要低。與此同時還提供了豐富的運維、監控能力,是您注冊中心上雲的最佳選擇。

Knative 作為最流行的雲原生應用 Severlesss 編排引擎,其中一個核心能力就是其簡潔、高效的應用托管服務(MicroPaaS),這也是其支撐應用 Serverless 能力的基礎。Knative 提供的應用托管服務(MicroPaaS) 可以大大降低直接操作 Kubernetes 資源的複雜度和風險,提升應用的疊代和服務傳遞效率。當然作為應用 Severlesss 編排引擎就離不開按需配置設定資源的能力,阿裡雲容器服務 Knative 可以根據您應用的請求量在高峰時期自動擴容執行個體數,當請求量減少以後自動縮容執行個體數,可以非常自動化的幫助您節省成本。

希望 MSE + Knative 能在微服務上雲過程中幫您減少成本、提升效率。

福利放送

《Knative 雲原生應用開發指南》電子書下載下傳位址,點選

傳送門

歡迎加入 Knative 交流群:

雲原生下的微服務實踐 | 注冊中心管理 & Serverless 編排

作者資訊:

冬島,阿裡雲容器平台技術專家,2014年 深度參與了阿裡巴巴全面容器化、連續多年支援雙十一容器化鍊路。專注于容器、Kubernetes、Service Mesh 和 Serverless 等雲原生領域。緻力于建構新一代 Serverless 平台。目前主導阿裡雲容器服務 Knative 相關工作。

草谷,阿裡雲進階工程師,目前負責阿裡集團内軟負載分布式元件TaoKeeper,商業化産品MSE,分布式服務注冊中心及高可用架構領域的相關工作。

繼續閱讀