新聞中心
本文轉載自微信公眾號「全棧碼農(nóng)畫像」,作者小碼甲。轉載本文請聯(lián)系全棧碼農(nóng)畫像公眾號。

Microservices
微服務是一種構建現(xiàn)代應用程序的流行的體系結構,云原生系統(tǒng)擁抱微服務。
微服務是由一組(使用共享結構交互的、獨立的小塊服務)搭建的分布式集,具有以下特征:
- 在大型的領域上下文中,每個微服務實現(xiàn)特定的業(yè)務功能
- 每個微服務都自主開發(fā)的,且可以獨立部署
- 每個微服務都獨立封裝了自己的數(shù)據(jù)存儲技術(SQL,NoSQL)和編程平臺。
- 每一個微服務都運行在獨立進程,并使用標準的通信協(xié)議(例如HTTP/HTTPS、WebSocket或AMQP)與其他進程進行通信。
- 它們一起組成一個應用程序
下圖對比單體與微服務應用:
注意,單體應用由分層架構組成,在單個進程中執(zhí)行,通常使用關系型數(shù)據(jù)庫。
但是,微服務方法依據(jù)功能劃分為(邏輯+數(shù)據(jù))的獨立服務,每個微服務都托管自己的數(shù)據(jù)存儲。
微服務依然遵守"十二要素應用"中的One Codebase, One Application”原則。
每個微服務存儲在獨立代碼倉庫,通過版本管理進行跟蹤,可以部署到多個環(huán)境。
Why microservices?
微服務提供了敏捷能力
上一段落,我們已經(jīng)對比了單體和微服務,我們看到了一些明顯的好處:
- 每個微服務都有自治的生命周期,可以獨立演進、多頻次部署。
你不必等待發(fā)布窗口即可部署新功能或更新,你可以只更新復雜應用的一小部分區(qū)域,減少破壞整個系統(tǒng)的風險。
- 每個微服務都可以獨立擴展。
不需要以應用整體為單位進行擴展,而僅擴展那些需要更多處理能力或網(wǎng)絡帶寬的微服務,這種細粒度的伸縮方法提供更好的控制力和成本優(yōu)勢。
學習微服務的最佳指南是《.NET Microservices: Architecture for Containerized .NET Applications》,這本書深入探討了微服務設計和架構,它是微服務實踐https://github.com/dotnet-architecture/eShopOnContainers的閱讀搭檔。
Developing microservices
可以使用任何現(xiàn)代開發(fā)平臺來創(chuàng)建微服務。
微軟.NET平臺是一個絕佳的選擇,免費、開源,內(nèi)置許多功能以簡化微服務開發(fā)。.NET是跨平臺的,可以在Windows、macOS和大多數(shù)Linux上構建和運行應用程序。
.NET的性能很高,在TechEmpower組織的性能基準測試中,.NET相當優(yōu)秀。
.NET由Microsoft和.NET社區(qū)在GitHub上維護。
Ref
https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition
網(wǎng)頁標題:聊聊.NET微服務
文章URL:http://fisionsoft.com.cn/article/djeheij.html


咨詢
建站咨詢
