场景
已经应用了Saga模式,为了可靠性,每当服务状态改变时,服务必须以原子性方式发布事件。使用一个跨数据库和消息代理的分布式事务是不切实可行的。
问题
每当状态改变的时候,如何可靠地/原子地发布事件?
约束条件
2PC不是一个选项。
解决方案
一个或多个数据库触发器将事件插入某个EVENTS表,通过某个独立的进程拉取该表来发布事件。
已经应用了Saga模式,为了可靠性,每当服务状态改变时,服务必须以原子性方式发布事件。使用一个跨数据库和消息代理的分布式事务是不切实可行的。
每当状态改变的时候,如何可靠地/原子地发布事件?
2PC不是一个选项。
一个或多个数据库触发器将事件插入某个EVENTS表,通过某个独立的进程拉取该表来发布事件。