我正在对 .NET Aspire 进行一些研究,并有一些相关问题:
我正在研究微服务架构,每个微服务都有自己的解决方案。我可以创建单独的 Aspire 解决方案并引用所有微服务吗?推荐吗?因为在我看到的每个教程中,都有一个包含多个微服务的解决方案。
我已将所有服务部署在 3 个不同的 Azure VM 上。我可以将 Aspire 项目部署到虚拟机吗?如果是,我想我需要在每个虚拟机上都有一个 Aspire 项目来管理特定虚拟机的服务。我到处都看到 Aspire 项目部署在容器应用程序上,它像 Kubernetes Pod 一样管理微服务。有没有办法将集中式 Aspire 项目部署在管理所有服务的虚拟机上?
我在一些微服务中使用 ASP.NET Boilerplate。 Aspire支持ABP吗?
.sln
来编排许多分布式服务,每个服务最终位于不同的平台/虚拟机/容器上。请参阅Aspire 的编排文档。如果您的所有服务都必须保留在单独的解决方案中,那么您就会失去 Aspire 的优势。将 Aspire 视为一个固执己见的框架,迫使您使用某些约定。如果您以违反这些约定的方式构建解决方案,那么它就不起作用。也就是说,您可能可以将这些项目移动/复制到新的 Aspire 解决方案中,并让它发现并编排每个项目。".NET Aspire projects are built with cloud-agnostic principles, allowing deployment flexibility across various platforms supporting .NET and containers."
中所述,理论上,您可以将生成的编译软件发布和部署到任何东西。但推荐的方法是部署到容器,因为它们比虚拟机更加轻量级和可扩展。