2016 年微软发布了 .NET Core 1.0,可谓是平地起惊雷,因为微软终于开源和跨平台了。但是一直到19年12月份发布了.NET Core3.1,开源社区的威力才展现出来,3个月增加了100w开发者,才真正吸引大厂的关注。但你以为仅仅是因为开源和跨平台吗?
01 开源跨平台
.NET Core在 4 年的时间里,累计发布了 7 个正式版本和几十个 Preview 版本,是一个面向 Windows、Linux 和 MacOS 多个平台,在桌面开发、移动客户端开发、物联网、AI 等领域都有非常好的支持,并且它未来的应用范围将会更加广泛。其中最被人称道的就是开源和跨平台。
跨平台意味着有更多的开发环境和部署环境的选择,不用捆绑windows,各种优秀的第三方组件也能顺畅应用。
开源意味着有更多的开放性和包容性。.NET Core 的发展不仅仅是微软在推动,开源社区也贡献了大量的 .NET Core 核心代码。各类主流组件库也都有对 .NET Core 的支持,能让我们更多的关注业务设计和实现,而不用重复造轮子。
猎聘网年中报告显示,腾讯、网易、顺丰、携程、前程无忧等大公司的一些关键业务已经在使用 .Net Core 了,随之,越来越多的企业也开始要求应聘者有 .NET Core 方面的经验和技能!
02 容器化
但.NET Core作为全新推出的开发平台,更大的优势其实在于对容器化的全力支持,可以看到.NET5最近的发布版本一直都在为容器化改进。.NET Core+Docker容器化后还有其他语言无可比拟的优势!
1
体积更小
对于微服务分布式架构而言,更小的体积意味着更少的下载带宽,更快的分发下载速度,.NET Core 的镜像体积都很小,alpine的镜像更小,带上应用程序通常80M。
2
启动速度更快
对于需要快速迭代、水平扩展的微服务应用而言,更快的的启动速度就意味着更高的交付效率,和更加快速的回滚。
尤其当你需要发布一个有数百个副本的应用时,缓慢的启动速度就是时间杀手。
3
占用资源更少
运行时更低的资源占用,意味着更高的部署密度和更低的计算成本。.NET Core的 CLR启动速度非常快,降低启动时资源消耗,可以减少资源争抢,更好保障其他应用 SLA。
4
支持水平扩展
.NET Core 默认更好的支持Docker资源限制,官方团队也在努力让.NET Core成为真正的容器运行时,使其在低内存环境中具有容器感知功能并高效运行。
随着内存成本的下降和虚拟化的流行,大内存配比已经成为趋势。所以我们一般是采用水平扩展的方式,同时部署多个应用副本,在一个计算节点中可能运行一个应用的多个副本来提升资源利用率。
迎接新时代
新的互联网技术时代已经来临了,容器、Kubernetes、DevOps、微服务、云原生才是技术前进的方向,.NET Core平台提前完成布局,已引来诸多大厂的关注!作为开发者的我们,该如何抢占一席之地?