处理EC2上的同步请求失败



要求:

  1. 为云上的数据转换应用程序构建和托管web服务
  2. 托管应用程序将以REST请求的形式从客户端获得请求——客户端将发送一个字符串,我们需要对其进行转换并将其发回。(同步(

  3. 设计的系统应该是故障安全的,有弹性的,并且应该是24*7。

我的问题:我们的EC2在自动缩放组中运行,它们将根据负载关闭和启动。比方说,如果客户端请求正在EC2中执行,并且在这两者之间,EC2突然关闭,客户端请求丢失。如何处理?我认为,如果我们的客户在规定的时间内没有得到回应,请他们设置一个超时并再次向我们发送请求不是一个好主意。我们希望在我们端处理此功能。

欢迎提供建设性的反馈和建议。谢谢你抽出时间。

我们希望在我们端处理此功能。

拥有负载平衡的自动缩放组非常有弹性,当实例即将关闭时(据我所知,它已从目标缩放组中删除(,它不应该收到请求。现在我们讨论的是请求需要合理的短时间。

在基础设施级别的上,您无法做更多的工作

我认为让我们的客户设置超时并再次向我们发送请求不是一个好主意

重试非常常见,这甚至是网络不可靠的假设的一部分(主要使用具有动态扩展的(微(服务(

是否可以将REST请求存储在某个地方,并将请求重新发送到集群中的其他EC2。

这就是SQS的作用。。理论上。

一种方法是在某些故障类型(超时、HTTP 503等(的情况下要求客户端重试。

另一种方法是使用某种可靠的交付(如SQS(,但考虑到性能的价格(但网络仍可能失败(

最新更新