1. 程式人生 > >.NET 在雲原生時代的蛻變,讓我在雲時代脫穎而出

.NET 在雲原生時代的蛻變,讓我在雲時代脫穎而出

.NET 生態系統是一個不斷變化的生態圈,我相信它正在朝著一個偉大的方向發展。有了開源和跨平臺這兩個關鍵優先事項,我們就可以放心了。雲原生對應用執行時的不同需求,說明一個.NET Core 在雲原生時代所完成的蛻變:

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

  • 啟動速度更快:對於傳統單體應用,啟動速度與執行效率相比不是一個關鍵的指標。原因是,這些應用重啟和釋出頻率相對較低。然而對於需要快速迭代、水平擴充套件的微服務應用而言,更快的的啟動速度就意味著更高的交付效率,和更加快速的回滾。尤其當你需要釋出一個有數百個副本的應用時,緩慢的啟動速度就是時間殺手。對於Serverless 應用而言,端到端的冷啟動速度則更為關鍵,即使底層容器技術可以實現百毫秒資源就緒,如果應用無法在 500ms 內完成啟動,使用者就會感知到訪問延遲。這裡我拿AWS Lambda來舉例,因為各大雲廠商都是以AWS是模仿的目標,AWS Lambda中可用的所有語言都是高階的,而不是像Assembler,C / C ++或Objective C那樣。從指令碼語言到JavaScript和Python,再到像Java和C#到Go這樣被編譯為二進位制檔案的託管執行時的語言,所有語言都是他們有自己的長處。在基準測試中,最重要的.NET Core是 冠軍,具體參看https://react-etc.net/entry/aws-lambda-benchmarks-node-js-python-java-c-go-dotnet-core 

  • 佔用資源更少:執行時更低的資源佔用,意味著更高的部署密度和更低的計算成本。.NET Core的 CLR啟動速度非常快,降低啟動時資源消耗,可以減少資源爭搶,更好保障其他應用 SLA。

  • 支援水平擴充套件:.NET Core 預設更好的支援Docker資源限制,官方團隊也在努力讓.NET Core成為真正的容器執行時,使其在低記憶體環境中具有容器感知功能並高效執行。隨著記憶體成本的下降和虛擬化的流行,大記憶體配比已經成為趨勢。所以我們一般是採用水平擴充套件的方式,同時部署多個應用副本,在一個計算節點中可能執行一個應用的多個副本來提升資源利用率。

獵聘網年中報告顯示,騰訊、網易、順豐、攜程、同程藝龍等大公司的一些關鍵業務已經在使用 .Net Core 了,隨之,越來越多的企業也開始要求應聘者有 .NET Core 方面的經驗和技能,尤其是在高階人才的要求上,.NET Core 和基於 Kubernetes 架構的知識更是必不可少。 對於大部分開發者來說,.NET Core 入門比較容易,但是如何用它來解決工作中的各類問題,就需要積累大量的實戰經驗才行了,比如:

  • 如何能夠確保我們的應用適應不同的部署環境?
  • 如何設計和實現業務程式碼,確保其不會隨著系統的發展和演進帶來的複雜度提升而喪失可維護性?
  • 服務化是如何在多團隊協作的大型系統中保障交付效率的?
  • 如何使用 .NET Core 技術解決服務化帶來的事務一致性問題?

要回答上述問題,你就需要熟悉 .NET Core 的深層原理,並且對實際生產環境中的應用有更進一步的學習和了解,這樣你才能認清技術架構的實現與團隊之間的關係,具備保障系統架構可持續演進的能力,並且能夠支撐更大規模團隊的高效協作。說到這裡,要給你推薦肖偉宇和極客時間合作開設的《.NET Core 開發實戰》視訊課,肖偉宇將結合實戰場景,幫助你深入理解並掌握 .NET Core 的設計原理和最佳實踐。

使用優惠口令「dotnet123」到手僅¥89,限前200人

△掃碼免費試看課程

 

肖偉宇是誰?
肖偉宇,目前是校寶線上的架構師。他工作12年來,一直在從事 .NET 方向的研發和架構工作,做過各類系統的架構和研發工作,服務部署從早期自建機房物理機、到自建虛擬化,再到現在的使用雲服務,經驗非常豐富。

肖偉宇在 .NET Core 釋出早期,就持續關注並深入瞭解,之後積極推動校寶線上引入 .NET Core ,並且成功實現 .NET Core 開發並執行在 Kubernetes;期間基於 .NET Core 構建了支援多環境、多語言客戶端、主動推送更新的版本化配置中心繫統,提升團隊的交付效率。

這裡特別要和你分享一件事情是2018年的11月我有幸參觀訪問了肖偉宇所在的公司校寶線上,當時我也是剛從騰訊離職從事.NET Core的諮詢服務工作,當時他們正是在進行.NET向.NET Core遷移的關鍵時期,他們同時處在阿里巴巴大本營的杭州(在最近我做的一個調查中很多杭州兄弟都提到了這一點),而且當時阿里巴巴已經投資了校寶線上,坊間一直流傳著這麼一個梗:被阿里巴巴投資的公司都轉向了Java,可想而知,校寶線上作為杭州地區最大的一家.NET技術公司 的兄弟們面臨多大的壓力,在經過了一年多時間的探索,肖偉宇作為校寶線上的架構師帶領.NET兄弟成功走向.NET Core雲原生的道路,這是非常值得分享的一件事情,而且難能可貴的是肖偉宇把這個探索道路上的艱難險阻總結提煉成這樣一門視訊課程。這裡我非常推薦大家購買肖偉宇結合自己的經驗精心提煉的視訊課程。
2019年在我們.NET社群還有一件大事就是“開源、共享、創新”, 中國最具前景開發者峰會落幕魔都, 大會上邀請了肖偉宇主題分享了《用ASP.NET Core構建可檢測的高可用服務》

你能獲得什麼?

肖偉宇會帶你從頭開始構建一個基於 .NET Core 的雲原生微服務架構。在這個過程中,他會先帶你瞭解 .NET Core 的依賴注入框架、配置框架、日誌框架和中介軟體等必要的知識,然後通過例項來講解針對不同規模的團隊和專案如何設計並實現微服務架構,最後一部分,肖偉宇會講解如何在 Kubernetes 中部署和維護微服務應用。 學完這門課程後,你將有這些收穫:

  1. 掌握.NET Core重要元件框架的最佳使用實踐和設計原理。
  2. 掌握在 Kubernetes 下架構 .NET Core 微服務應用的設計方法和關鍵點實現方案。
  3. 掌握重要的工程設計原則在 .NET Core 技術棧中的實踐。

專欄目錄