Search code examples
microservicesevent-sourcingaerospiketransaction-logwal

Transaction Log in Aerospilke


What I have? A lot of different microservices managing by different teams. All microservices persist data in Aerospike database.

What I want to achieve? I'm building new microservice that relies on data handled by another services. I want to listen the changes in entities, but unfortunately that microservices don't put anything in message queue, they have only usual REST APIs, so I cant just subscribe to events.

The idea is to listen a transaction log(event log/commit log/WAL) of database. This approach is also using in different Event Sourcing systems, but I cant found any Aerospike API that would stream this log. So the question - does Aerospike provide any similar functionality, may be with different name?


Solution

  • Aerospike, in its enterprise edition, has a feature called change notification framework which may fit your requirements. It informs an external agent about all the write operations. This is built over the XDR functionality which is meant for replicating across data centers using a digestlog.

    If you are not planning for enterprise, you should reconsider having your own message queue in front of Aerospike.