将 .Net Aspire 项目部署到 Azure VM

问题描述 投票:0回答:1

我正在对 .NET Aspire 进行一些研究,并有一些相关问题:

  1. 我正在研究微服务架构,每个微服务都有自己的解决方案。我可以创建单独的 Aspire 解决方案并引用所有微服务吗?推荐吗?因为在我看到的每个教程中,都有一个包含多个微服务的解决方案。

  2. 我已将所有服务部署在 3 个不同的 Azure VM 上。我可以将 Aspire 项目部署到虚拟机吗?如果是,我想我需要在每个虚拟机上都有一个 Aspire 项目来管理特定虚拟机的服务。我到处都看到 Aspire 项目部署在容器应用程序上,它像 Kubernetes Pod 一样管理微服务。有没有办法将集中式 Aspire 项目部署在管理所有服务的虚拟机上?

  3. 我在一些微服务中使用 ASP.NET Boilerplate。 Aspire支持ABP吗?

asp.net .net aspnetboilerplate dotnet-aspire
1个回答
0
投票
  1. 实际上,使用 Aspire 的全部原因是拥有一个
    .sln
    来编排许多分布式服务,每个服务最终位于不同的平台/虚拟机/容器上。请参阅Aspire 的编排文档。如果您的所有服务都必须保留在单独的解决方案中,那么您就会失去 Aspire 的优势。将 Aspire 视为一个固执己见的框架,迫使您使用某些约定。如果您以违反这些约定的方式构建解决方案,那么它就不起作用。也就是说,您可能可以将这些项目移动/复制到新的 Aspire 解决方案中,并让它发现并编排每个项目。
  2. 部署是一个单独的问题。正如Aspire 的文档
    ".NET Aspire projects are built with cloud-agnostic principles, allowing deployment flexibility across various platforms supporting .NET and containers."
    中所述,理论上,您可以将生成的编译软件发布和部署到任何东西。但推荐的方法是部署到容器,因为它们比虚拟机更加轻量级和可扩展。
  3. 有可能。然而,Aspire 却相当固执己见。 Aspire 的某些功能(例如服务发现和运行状况检查)可能与 ABP 的功能重叠。您可能需要调整一些扩展方法以使它们协同工作,并修改 ABP 项目的启动配置以包含 Aspire 的服务默认值。选择其中之一可能会更好。或者可以将业务逻辑类移至 Aspire 解决方案中的新项目中,该解决方案已按照 Aspire 方式组合在一起。
© www.soinside.com 2019 - 2024. All rights reserved.