We have several systems that hold the same data in different databases. The requirement is to keep the data synced in as much reliable way as possible. Performance isn't a concern because we don't have lots of users.
Currently, we're using RabbitMQ to produce events on data changes so that consumers are able to track the updates and do corresponding changes in its own data. We've set up a RabbitMQ cluster to increase reliability. However, my team leader is still concerned about insufficient reliability and data loss in case if one of the systems failed to handle a message correctly.
Is there any better way to solve the task?