解道jdon.com

解道jdon.com -

使用事务发件箱进行可靠的事件调度

在系统中使用事件很棒,但是您如何确定您是否可靠地调度了事件?事件的传输需要可靠地完成,同时保持整个系统的一致性,无论是最终的还是立即的。在典型的设置中,数据库用于存储信息,队列用于在进程和系统之间发送消息。通常,事件在将信息存储在数据中的同一操作中直接分派到队列。这看起来似乎并没有明显的错误,但这种做法存在一个潜在的问题。 非事务调度 当事件直接分派到队列时,单个请求或操作中会发生两个网络请求,这会产生问题。两个网络请求不能成为原子请求(同时失败或成功)。 为了说明这一点,以下是可能发生的情况的简要概述: 先存储数据,再发送消息: 如果存储数据失败,则操作失败,不幸的是但不会..

事务性发件箱模式可以确保事件发送与存储应用程序状态一起成功或失败,需要支持事务的数据库、调度事件的缓冲表、中继机制和实际的队列。它可以提高吞吐量,并可用于灾难恢复,是一种解决现实世界问题的模式。

相关推荐 去reddit讨论

热榜 Top10

LigaAI
LigaAI
Dify.AI
Dify.AI
eolink
eolink
观测云
观测云

推荐或自荐