.NET平台系列21:云原生时代 .NET5 雄霸天下
随着互联网持续高歌猛进,相关技术名词也是层出不穷。微服务、容器化、DevOps、ServerLess、FaaS,这两年最火的当属云原生Cloud Native!当下大部分企业还在追逐微服务架构落地,而下一代的架构云原生已如火如荼。
何谓云原生?技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论,是在云计算的滚滚浪潮中应运而生的。云原生没有确切的定义,因为还在一直发展和变化,当下最被认可的概念是云原生=微服务+DevOps+持续交付+容器。
微服务就是将大型单体应用拆分成多个独立的服务,通过服务调用来实现业务功能的架构风格。其优势在于按服务拆分后,能更好的完成高内聚低耦合,单一服务更轻,是云原生架构的根基。
当下最流行的容器化工具就是Docker和K8S,其好处在于运维的时候不需要再关心每个服务所使用的技术栈了,服务都被无差别地封装在容器里,可以被无差别地管理和维护,已成为当下互联网主流选项。
Development + Operations,直白的说就是开发和运维合体,减少开发和运维之间的沟通隔阂以提升效率,其本质是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。
持续交付就是在不影响用户使用的前提下,能频繁发布新功能,是现代化互联网发展提出的新要求。以前2周发布一次,还得午夜停机发布,而CI/CD要求是能全自动化发布回滚,一周发布几十个版本,要做到这点很难,需要很多流程和工具支撑。
云原生架构是近几年最热门的技术架构,是不同思想的集合,集目前各种热门技术之大成。在这一波技术变革中,.NET5已经独具优势,有机会逆袭称王,作为.NET开发者,更是应该积极拥抱。
.NET5 于2020年11月正式发布。.NET5 让 .NET Framework 和 .NET Core 走向统一,打通了7大方向的统一开发,是 .NET 技术发展的集大成者。.NET Core 启动于2016年,跟K8S同年诞生,既拥有着悠久的历史积累,又集成了当下最新的设计理念,加上.NET团队持续对容器技术的官方支持和适配改进,这两年各种性能测试榜单中,.NET5都是最受欢迎和期待的!在云原生 Cloud Native 的大潮中,.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平台系列16:.NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现
参考文献:
- 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
成在管理,败在经验;嬴在选择,输在不学! 贵在坚持!
个人作品
BIMFace.SDK.NET
开源地址:https://gitee.com/NAlps/BIMFace.SDK
系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html
系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html
技术栈
1、Visual Studio、.NET Core/.NET、MVC、Web API、RESTful API、gRPC、SignalR、Java、Python
2、jQuery、Vue.js、Bootstrap、ElementUI
3、数据库:分库分表、读写分离、SQLServer、MySQL、PostgreSQL、Redis、MongoDB、ElasticSearch、达梦DM
4、架构:DDD、ABP、SpringBoot、jFinal
5、环境:跨平台、Windows、Linux、Nginx
6、移动App:Android、IOS、HarmonyOS、微信小程序、钉钉、uni-app、MAUI
分布式、高并发、云原生、微服务、Docker、CI/CD、DevOps、K8S;Dapr、RabbitMQ、Kafka、RPC、Elasticsearch。
欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。
出处:www.cnblogs.com/SavionZhang
作者:张传宁 技术顾问、培训讲师、微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。
专注于企业级通用开发平台、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。
多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。
熟悉中小企业软件开发过程:可行调研、需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业实现互联网转型升级全流程解决方案。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如有问题,可以通过邮件905442693@qq.com联系。共同交流、互相学习。
如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!