在 Linux 容器中重新架构为微服务 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Linux 容器中重新架构为微服务

微服务架构是一种将单个应用程序开发为一套小型服务的方法。每个服务都在自己的进程中运行,并通过轻量级机制与其他服务通信。这种方法将单体应用程序分解为较小的服务,其中每项服务仅用于单一用途,并作为容器进行部署。

使用案例

在以下情况下,此迁移策略很有用:

  • 你想将你的单片系统分解为微服务。

  • 您有资源和时间可用于重构。

  • 您可以解决所有.NET 框架依赖关系。

  • 您的应用程序将概述长时间运行。

优势

与本地.NET 应用程序相比,这种迁移方法具有以下优点:

  • 更快地创新,因为在微服务架构中添加新功能更容易

  • 高可用性和可靠性

  • 提高了灵活性和按需可扩展性

  • 独立部署、现代持续集成和持续部署(CI/CD)管道

  • 强大的模块边界和技术多样性

缺点

  • 重构的工作量和成本

  • 潜在的操作复杂性

AWS 服务

您可以使用以下AWS服务来开发基于微服务的系统:

工具

AWS专业服务提供自定义工具和服务,帮助您将单片应用程序重构为微服务。

部署决策

您可以从五个部署选项中进行选择:

  • 如果您想完全控制计算环境的配置,包括内存和存储设置,并控制操作系统补丁,请将您的应用程序作为 Linux 容器部署在 EC2 实例上。

  • 如果您希望容器由 Kubernetes 管理并作为无服务器容器运行,请使用 Fargate 将您的应用程序作为 Linux 容器部署在 Amazon EKS 上。

  • 如果您希望容器由 Amazon ECS 管理并作为无服务器容器运行,请使用 Fargate 将您的应用程序作为 Linux 容器部署在 Amazon ECS 上。

  • 如果您希望容器由 Kubernetes 管理,但又想自己管理容器的计算资源:将您的应用程序作为 Linux 容器部署在 Amazon EKS 上。

  • 如果您希望容器由 Amazon ECS 管理,但又想自己管理容器的计算资源:将您的应用程序作为 Linux 容器部署在 Amazon ECS 上。

Refactoring .NET applications as microservices in Linux containers on AWS