.NET平臺系列21:雲原生時代 .NET5 雄霸天下

張傳寧 發表於 2021-06-10

  隨著網際網路持續高歌猛進,相關技術名詞也是層出不窮。微服務、容器化、DevOps、ServerLess、FaaS,這兩年最火的當屬雲原生Cloud Native!當下大部分企業還在追逐微服務架構落地,而下一代的架構雲原生已如火如荼。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

Cloud Native 雲原生

  何謂雲原生?技術的變革,一定是思想先行,雲原生是一種構建和執行應用程式的方法,是一套技術體系和方法論,是在雲端計算的滾滾浪潮中應運而生的。雲原生沒有確切的定義,因為還在一直髮展和變化,當下最被認可的概念是雲原生=微服務+DevOps+持續交付+容器。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

Microservice 微服務

  微服務就是將大型單體應用拆分成多個獨立的服務,通過服務呼叫來實現業務功能的架構風格。其優勢在於按服務拆分後,能更好的完成高內聚低耦合,單一服務更輕,是雲原生架構的根基。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

Containers 容器化

  當下最流行的容器化工具就是Docker和K8S,其好處在於運維的時候不需要再關心每個服務所使用的技術棧了,服務都被無差別地封裝在容器裡,可以被無差別地管理和維護,已成為當下網際網路主流選項。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

DevOps 開發運維

  Development + Operations,直白的說就是開發和運維合體,減少開發和運維之間的溝通隔閡以提升效率,其本質是一個敏捷思維,是一個溝通文化,也是組織形式,為雲原生提供持續交付能力。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

CI/CD 持續交付

  持續交付就是在不影響使用者使用的前提下,能頻繁釋出新功能,是現代化網際網路發展提出的新要求。以前2周釋出一次,還得午夜停機發布,而CI/CD要求是能全自動化釋出回滾,一週釋出幾十個版本,要做到這點很難,需要很多流程和工具支撐。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

 

  雲原生架構是近幾年最熱門的技術架構,是不同思想的集合,集目前各種熱門技術之大成。在這一波技術變革中,.NET5已經獨具優勢,有機會逆襲稱王,作為.NET開發者,更是應該積極擁抱。

  .NET5 於2020年11月正式釋出。.NET5 讓 .NET Framework 和 .NET Core 走向統一,打通了7大方向的統一開發,是 .NET 技術發展的集大成者。.NET Core 啟動於2016年,跟K8S同年誕生,既擁有著悠久的歷史積累,又整合了當下最新的設計理念,加上.NET團隊持續對容器技術的官方支援和適配改進,這兩年各種效能測試榜單中,.NET5都是最受歡迎和期待的!在雲原生 Cloud Native 的大潮中,.NET5也是最具優勢的,因為足夠的輕巧和高效!.NET5是容器化+微服務架構最佳選擇。

.NET平臺系列21:雲原生時代 .NET5 雄霸天下

.NET5優勢

1、體積更小

.NET5的映象體積都很小,alpine的映象更小,帶上應用程式也才80M,對於微服務分散式架構而言,更小的體積意味著更少的下載頻寬,更快的分發下載速度。

2、佔用資源更少

.NET5的CLR+預設http://ASP.NET Core框架頁面啟動後,僅需22M記憶體,同比Java8已經需要120M了,執行時資源佔用也更低,意味著更高的部署密度和更低的計算成本。

3、啟動速度更快

.NET5的 CLR啟動速度非常快,而啟動速度就意味著交付效率和回滾效率,在動輒數百個副本微服務時,啟動速度就是個非常重要的特性。

4、容器感知,低配執行

.NET5 預設更好的支援Docker資源限制,官方團隊也在努力讓.NET5成為真正的容器執行時,使其在低記憶體環境中具有容器感知功能並高效執行,遠超其他平臺。

關於.NET5 的強大功能、超前效能及優勢,請參考我的部落格:

.NET平臺系列13:.NET5統一平臺

.NET平臺系列14:.NET5中的新增功能

.NET平臺系列15:.NET5中的吊炸天效能改進

.NET平臺系列16:.NET5/Asp.Net Core 在全球Web框架權威效能測試 Web Framework Benchmarks 中的吊炸天表現

.NET平臺系列17:.NET5中的ARM64效能

.NET平臺系列18:.NET5的超強優勢


參考文獻:

  • https://www.cnblogs.com/IT-Evan/p/13876788.html
  • https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
  • https://docs.microsoft.com/zh-cn/archive/msdn-magazine/2019/july/csharp-net-reunified-microsoft%E2%80%99s-plans-for-net-5