如果你需要跨队列到普通SQL数据库或类似系统的事务,我认为你做错了…
如果你需要跨队列到普通SQL数据库或类似系统的事务,我认为你做错了。当然,你可能需要在处理队列中的事物时有事务(标记为“已取出”,但尚未删除,然后在超时或其他情况下删除或“放回(或放入失败消息收件箱)”)对于队列系统来说可能非常重要。但一旦“如果处理消息时发生故障则保存失败”直接与数据库事务耦合,你就创建了一个非常脆弱且繁琐的系统。坦白说,这可能对某些情况来说仍然是最佳解决方案。但更好的方法是确保将队列视为消息传递系统,并按照适当的消息传递语义来处理消息。如果你无法做到,因为……
源讨论Postgres的LISTEN/NOTIFY无法扩展原帖 321 条评论 · 导入时统计