微服务数据管理(译):使用数据库触发器发布事件模式

场景

已经应用了Saga模式,为了可靠性,每当服务状态改变时,服务必须以原子性方式发布事件。使用一个跨数据库和消息代理的分布式事务是不切实可行的。

问题

每当状态改变的时候,如何可靠地/原子地发布事件?

约束条件

2PC不是一个选项。

解决方案

一个或多个数据库触发器将事件插入某个EVENTS表,通过某个独立的进程拉取该表来发布事件。

文章来源:Pattern: Publish events using database triggers

你可能感兴趣的:(微服务数据管理(译):使用数据库触发器发布事件模式)