- 云原生應用開發實戰:基于.NET開發框架及Kubernetes容器編排技術
- 51Aspx組編
- 519字
- 2024-05-10 12:08:31
1.1.2 從微服務到云原生
通常我們提到微服務就會想到云原生,事實上,微服務與云原生是兩個不同維度的概念。
云原生更側重于應用程序的運行環境,它是以Kubernetes和容器技術為基礎打造的一整套工具,用于開發、測試、運行應用程序,直到部署到云環境。
微服務描述的是應用程序的軟件架構,微服務是基于分布式計算的架構模式。應用程序即使不采用微服務架構也可以是云原生的,如果是單體式應用,云原生就難以發揮優勢。另外微服務的程序也可以不是云原生的。
雖然它們是兩種不同的事物,但云原生和微服務是天生的良配,相得益彰,相輔相成。而且很多云原生的工具原來就是針對微服務架構設計的。可以說現代應用程序的趨勢就是:“微服務+云原生”。
對于1.1節的單體應用,在運用云原生技術之后,重新設計的系統如圖1-2所示。

圖1-2 云原生設計的應用系統
圖中左邊的矩形框表示客戶端應用,右邊的矩形框是部署在服務器端的服務,這些服務基于容器技術進行部署和管理。
左邊的客戶端分為三種類型:移動應用,基于Angular技術的單頁Web應用和傳統的Web應用。
右邊服務器端通過多個基于容器技術的獨立微服務來實現,它們之間通過事件總線彼此協作。這些服務以API的方式對外暴露其功能,中間的API網關將這些服務進行組合,對外顯示為針對不同客戶端的API服務。