具有SQS队列的弹性

问题描述 投票:1回答:1

我们正在尝试针对SQS队列进行实时-DR模型。

我们在AWS中有两个不同的帐户:

  1. eu-west(帐户号1234)
  2. 美国东部(帐户编号4567)

我们的应用程序驻留在两个帐户中(ACTIVE-PASSIVE)。

  • 在正常情况下,EU-WEST是活动的,而US-EAST是不活动的。
  • 当我们对灾难恢复进行故障转移时,US-EAST将处于活动状态,而EU-WEST将处于非活动状态。
  • 我们希望每个帐户中有两个SQS队列(eu-west,us-east)。
  • EU-WEST处于活动状态时,我们只希望在EU-WEST工作和处理事件中使用SQS队列。
  • [当我们切换到灾难恢复时,我们要使EU-WEST SQS无效,并使US-EAST中的SQS活跃。

每个SQS上都有一个Lambda触发器。

我们在这里可能面临的问题是:由于两个SQS队列都订阅相同的SNS主题,因此它们将处理事件。并且由于它已连接到Lambda函数,所以两者都将处理事件。

我不希望这种情况发生。我希望一次只使用一对SQS和Lambda函数-EU-WEST或US-EAST。我知道可以通过删除非活动区域上的Lambda触发器来实现。

只是在寻找更好的方法。

amazon-web-services aws-lambda amazon-sqs
1个回答
0
投票

我在这里有解决方案。

我们需要检查Route53来找到该应用程序的当前活动区域。如果SQS-> Lambda在DR区域上触发,它将看到应用程序在DR中,并且将跳过处理。

因此,活动区域Lambda将积极处理SQS消息,而DR将跳过所有处理。

这个想法应该适用于我上面提到的场景。

© www.soinside.com 2019 - 2024. All rights reserved.