I am new to the event processing domain. I am looking out for a Java based event processing framework for my requirements. I've been through a documentation and tutorial maze on Myriad frameworks - Apache Storm, apache Kafka as well as traditional event brokers such as RabbitMQ. I am none the wiser.
My requirements are the following. I have a source of events (e.g. usage tracking) that are pushed to me. I want to do the following things with them:
- Bucketing (Split them into different buckets e.g. by customer)
- Insert all the bucketed events as batches into a Database.
- Perform some kind of load balancing/event prioritization, e.g. do not want a low priority customer pushing a huge no. of events starving a high priority customer with a few events.
I do not care too much about event ordering, but I would like to ensure high availability of these systems.
Looking out for a few pointers to start off with. Technology infrastructure no bar, but something Java based.