Aerospilke 中的事务日志

Transaction Log in Aerospilke

我有什么? 许多不同的微服务由不同的团队管理。所有微服务都将数据保存在 Aerospike 数据库中。

我想达到什么目的? 我正在构建依赖于其他服务处理的数据的新微服务。我想听听实体的变化,但不幸的是,微服务不会在消息队列中放置任何东西,它们只有通常的 REST APIs,所以我不能只订阅事件。

思路是监听数据库的事务日志(事件log/commitlog/WAL)。这种方法也在不同的事件溯源系统中使用,但我找不到任何可以流式传输此日志的 Aerospike API。所以问题 - Aerospike 是否提供任何类似的功能,可能具有不同的名称?

Aerospike 在其企业版中有一个称为更改通知框架的功能,可能符合您的要求。它通知外部代理所有的写操作。这是建立在 XDR 功能之上的,该功能旨在使用摘要日志跨数据中心进行复制。

如果您不打算用于企业,您应该重新考虑在 Aerospike 前面拥有自己的消息队列。