微服務(Microservices)
微服務是一個低耦合的架構,可以通過以下方式實現重構一個單片應用,即,轉向進程內的應用程序組件成自包含的網絡服務適於被部署在可伸縮或彈性容器或無服務器環境。
託管環境(Hosting Environment)
微服務可以通過兩種方式部署:容器化和無服務器。
容器化(Docker 主機或節點)(Containerization (Docker hosts or nodes))
容器化用於捆綁應用程序或應用程序的功能、所有依賴項及其在容器映像中的配置。此映像部署在主機操作系統上,捆綁的應用程序作為一個單元工作。
容器鏡像的概念允許我們在幾乎不做任何修改的情況下跨環境部署這些鏡像。通過這種方式,可以輕鬆快速地擴展微服務,因為新容器可以輕鬆部署用於短期目的。
Docker將用於向我們的微服務添加容器化。Docker 是一個開源項目,用於創建可以在雲端或本地的 docker 主機上運行的容器。
-來源:使用 ASP.NET Core 3.1 的微服務
無服務器(Serverless)(FaaS)
微服務具有“可擴展”的特點,但由於接口的細粒度,會導致微服務管理的高度複雜性。一個API網關或立面緩解這個問題。
無服務器減少了安裝和維護服務器作為託管環境的負擔。AWS Lambda是一種功能即服務 (FaaS) 產品,是無服務器計算中最著名的雲服務之一。
-資料來源:AWS 的無服務器微服務模式
參考
. Kubernetes 與 Docker:入門
. Node.js 中的無服務器:初學者指南
. Node.js 中的無服務器架構:開源應用的案例研究
. 無服務器和微服務:天作之合?
. 使用容器部署微服務
. 什麼是無服務器微服務?| 無服務器微服務解釋
. 適用於 AWS 的無服務器微服務模式
. 使用 ASP.NET Core 3.1 的微服務
資料來源: Wentz Wu網站
PS:此文章經過作者同意刊登 並且授權可以翻譯成中文