众所周知,微软于2023-11-14日发布了.NET 8的正式版。伴随着这个重要.NET版本的发布,微软也发布了一个全新的.NET云原生开发框架——.NET Aspire。
.NET Aspire提供了如下3个方面的能力,来帮助我们使用.NET开发分层、云就绪的可观测、本地与生产环境一致的分布式云原生应用程序:
-
微服务的编排能力:在开发和线上环境自动处理多个微服务之间的连接和依赖,也即内置了服务发现等基础能力。
-
基础服务的访问能力:通过提供一系列Nuget包,把对一些基础服务的访问进行统一封装(比如,缓存、数据库、消息队列等),方便微服务直接使用。
-
工具链的相应配合:在VS和VSCode等工具中添加对以上编排能力的支持,并提供一系列开箱即用的模板,来方便开发人员进行开发、调试和部署云原生应用。
对于详细的介绍,建议阅读官方文档:https://learn.microsoft.com/zh-cn/dotnet/aspire/get-started/aspire-overview
个人理解,这个.NET Aspire可以看作类似Spring Cloud的东西。之前大家不是希望有“全家桶”嘛,现在这个就是。另外,.NET Aspire的服务编排能力应该也是借鉴了Tye这个项目的一些灵感(本来都是.NET团队的作品)。
那么.NET Aspire和Dapr的关系和区别是什么呢:
-
.NET Aspire是专注于.NET世界;Dapr更适合多种语言融合
-
.NET Aspire的编排能力是内建到框架本身,会嵌入到应用内部(这点和之前的很多微服务/云原生框架类似);Dapr的编排能力由边车提供,依靠Dapr Runtime来处理
-
.NET Aspire的组件只是对访问的封装,并没有对一类组件进行抽象;Dapr的APIs(之前称之为构建块)是对一类组件进行高度抽象
-
.NET Aspire不关心基础设施的抽象和迁移,虽然理论也做得到;Dapr对基础设施也进行了一定的抽象
-
.NET Aspire是微软官方的产品,VS和VSCode对其有良好的工具支持;Dapr是微软支持的开源项目,工具的支持明显不足
综上所述,如果你是一个纯粹的.NET团队,并且准备开发一个GreenField(全新)的项目,可以尝试使用.NET Aspire!
标签:原生,微软,编排,Dapr,Aspire,NET From: https://www.cnblogs.com/yakniu/p/17836931.html