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

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


咨詢
建站咨詢
