3

I am implementing data aggregation application framework. It should be consuming create, update and delete operations on MySQL databases which are sharded across multiple instances. These aggregations should be stored in a separate database and serve as read store for eg. statistical overviews.

I've come up with two solutions, one of which is using Kafka consumers to write this data to aggregation database. Other one is creating background jobs for Beanstalkd on application level (whenever data is persisted) and consuming them with workers which would do the same job as Kafka consumers.

I'm interested in your thoughts on in pros and cons of both approaches in terms of performance, scalability and fault tolerance.

Vladimir Cvetic
  • 832
  • 3
  • 8
  • 23
  • I would recommend you use Kafka Connect rather than a custom consumer code (if you chose Kafka). Otherwise, short answer is that Kafka isn't "just a queue" – OneCricketeer Jan 24 '19 at 19:17

0 Answers0