.NET 在云原生时代的蜕变,让我在云时代脱颖而出

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.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

以上是关于.NET 在云原生时代的蜕变,让我在云时代脱颖而出的主要内容,如果未能解决你的问题,请参考以下文章

团队拓扑:在云原生时代,如何定位自身与团队?

团队拓扑:在云原生时代,如何定位自身与团队?

Quarkus技术系列「云原生架构原理」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?

在云原生时代,就一定要用微服务吗?

电信云2.0——助力5G在云原生时代领跑“下一个十年”

从SOA到微服务,企业分布式应用架构在云原生时代如何重塑