gpt4 book ai didi

postgresql - 将 PostgreSQL 通知放入 AWS SQS 队列

转载 作者:行者123 更新时间:2023-11-29 13:12:48 25 4
gpt4 key购买 nike

我正在处理的应用程序使用 AFTER CREATE/UPDATE/DELETE 触发器在系统内发生某些操作时创建 pg_notify 通知。目前,我们有一个小型 Node.JS 应用程序,它监听事件,然后立即转向并将它们发布到 AWS SNS 主题,该主题被转发到我们的 SQS 事件队列。从该队列中,我们根据事件(电子邮件、短信、lambda、长时间运行的作业等)触发各种事情。

此架构运行良好,但位于 PostgreSQL 实例和 SNS 主题之间的 Node.JS 应用程序似乎有点脆弱。我真的不能在两个可用区运行两个副本,因为消息会被复制。

我正在寻找将这些 Postgres 通知导入 SQS 的更好方法。有什么选择吗?如果 Postgres Aurora 有什么东西,我们可能会考虑。

最佳答案

使用您当前的监听事件的小型应用程序策略。只需在该应用程序和您的事件订阅者之间引入重复数据删除步骤。这将允许您运行应用程序的多个实例。

例如,您可以使用FIFO SQS 队列。这些会自动删除重复的消息。由于 FIFO 队列无法订阅 SNS,因此您需要将消息直接放入队列而不是通过 SNS。

或者,您可以使用 DynamoDB 存储最近消息的校验和,如果您的应用遇到重复消息,请手动删除它(确保使用条件写入来防止竞争条件)。

关于postgresql - 将 PostgreSQL 通知放入 AWS SQS 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52799300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com