【问题标题】:What is the best way to host a MicroService .net core web api in Docker?在 Docker 中托管 MicroService .net core web api 的最佳方式是什么?
【发布时间】:2018-09-24 04:31:07
【问题描述】:

我有几个微服务,我想将它们 docker 化。在自托管控制台应用程序中构建它们还是在构建 asp.net Web 应用程序中更好?

哪个更快?

我的微服务只是简单的 Web Api。

【问题讨论】:

  • ASP.NET Core 自托管控制台应用程序
  • 是的。但我的问题是将其托管到 docker 中的最佳方式是什么。在 iis 中作为控制台应用程序或 Web 应用程序自行托管?
  • 除非您期望在一台机器上每秒有 10000+ 个请求,否则性能差异并不重要。选择哪一个更适合您的工作流程和部署策略。大多数性能瓶颈不是由 iis、docker 或 nginx 造成的,而是由糟糕的应用程序架构和代码造成的

标签: docker asp.net-core microservices


【解决方案1】:

只是给你我的经验,不一定是“完整的答案”:

如果您在 Visual Studio 中创建 .NET Core WEB API 并“添加 Docker 支持”,则可以直接将它们部署到常规 AppServices(创建 AppService 时指定“Linux”作为操作系统)。

Visual Studio 向导将自动为您的图像设置容器注册表,并配置应用服务以在您的图像有新标签时进行部署。

我还迁移了相同的 Web API 以部署到没有 docker 的 Windows AppService,我们不需要更改任何代码,只需将其部署为没有 docker 的常规 Web 应用程序。

这意味着如果您将其构建为 .NET CORE 2 Web API,您可以将相同的代码部署到使用 Docker 的 Linux Appservice 或常规 Appservice。

如果您打算使用与 AppServices 不同的任何东西,您可能需要检查 Container 服务或 Service Fabric,IIRC 更昂贵(如果您需要大规模扩展这将是有意义的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 2021-06-16
    相关资源
    最近更新 更多