【问题标题】:In AWS ECS, how to communicate between services? (Protocols, best practice)在 AWS ECS 中,服务之间如何通信? (协议,最佳实践)
【发布时间】:2020-01-08 14:13:49
【问题描述】:

在 AWS ECS 中,我有一个服务(有 4 个任务)作为 Web 应用程序运行。现在我希望为所有 4 个任务/容器共享的消息队列 (RabbitMQ) 实现一个新服务。这样做的最佳做法是什么?

其他问题:

  1. 如果场景是我们必须在消息队列上写一个小包装器;假设我们在输入到达消息队列之前使用 python 解析输入;我们必须使用 HTTP 或 TCP 协议进行数据传输吗? (这种通信是在服务/容器之间进行的,但 TCP 是为通过网络传输数据而设计的)如果不是,有哪些选择?

  2. 监听不同端口的服务/容器之间数据通信的标准/通用方式是什么?

【问题讨论】:

    标签: containers microservices amazon-ecs


    【解决方案1】:

    我正在回答我自己的问题。
    我们可以使用两种常见的策略。 1. 使用带有直接端口通信的 AWS Service Discovery。 (协议取决于具体的应用,例如:Redis 和它自己的协议)
    2. 使用 gRPC,它是一种基于 HTTP/2 的协议,具有长寿命的 TCP 连接。它是轻量级的,通常支持多种语言,并具有包括类型检查、内置输入验证在内的功能。

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 1970-01-01
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多