使用 Amazon ECR 集群 - 每个微服务一个,或者每个微服务驻留在一个服务上
Using Amazon ECR Clusters - one per microservice or does each microservice reside on one Service
我不熟悉将 AWS ECR 集群用于微服务项目。
我想部署一个微服务基础设施,我可以在其中按需重新构建和重新部署任何微服务。我已经使用 ECR 注册表部署了微服务,并在 ECR 中为每个图像创建了任务定义。
最佳做法是为每个微服务创建一个集群,还是为所有微服务创建一个集群,但每个微服务创建一个服务?
我很想听听有关这方面的最佳做法!
问题中的术语几乎没有问题。我想一旦你掌握了正确的术语,你就会明白
- ECR 是容器注册表,即 docker 图像从那里上传和提取
- ECS 是编排平台,即编排集群中的多个容器。它决定每台机器上的容器
- 任务定义是一种抽象。您可以确定有多少个容器,哪些环境变量将传递给容器,容器启动后将执行的 运行 命令是什么等等。
例如,您有一个 API 端点需要高度冗余,因此任务定义将是 10 个容器。对于离线处理(当我们不太关心性能时)——我们可以用更少的容器来设置它。
除了@gCoh 的回答,回答你的问题 - Is it best practice to create one Cluster per microservice, or one Cluster for all the microservices, but one Service per microserivce?
视情况而定,我们所做的是 - 根据服务的功能对服务进行逻辑分组,并从中创建单独的集群。
我不熟悉将 AWS ECR 集群用于微服务项目。
我想部署一个微服务基础设施,我可以在其中按需重新构建和重新部署任何微服务。我已经使用 ECR 注册表部署了微服务,并在 ECR 中为每个图像创建了任务定义。
最佳做法是为每个微服务创建一个集群,还是为所有微服务创建一个集群,但每个微服务创建一个服务?
我很想听听有关这方面的最佳做法!
问题中的术语几乎没有问题。我想一旦你掌握了正确的术语,你就会明白
- ECR 是容器注册表,即 docker 图像从那里上传和提取
- ECS 是编排平台,即编排集群中的多个容器。它决定每台机器上的容器
- 任务定义是一种抽象。您可以确定有多少个容器,哪些环境变量将传递给容器,容器启动后将执行的 运行 命令是什么等等。
例如,您有一个 API 端点需要高度冗余,因此任务定义将是 10 个容器。对于离线处理(当我们不太关心性能时)——我们可以用更少的容器来设置它。
除了@gCoh 的回答,回答你的问题 - Is it best practice to create one Cluster per microservice, or one Cluster for all the microservices, but one Service per microserivce?
视情况而定,我们所做的是 - 根据服务的功能对服务进行逻辑分组,并从中创建单独的集群。