I a have a workflow (different tasks) that process data from Kafka/Redis streams. Some tasks are sequential & some parallel - on the high leve tasks fall into, verification -> computation -> transfer.
The catch here is, many tasks requires (at some level) webservice call deployed as microservices (in the same network), and some database calls for the computations/transformation on each event received. (I see use of in-memory data processing in certain computation logic can boost performance).
Is database & webservice call from the Disruptor
's EventHandler<T>
an overhead? Do this undermine Disruptor? If so, can keeping required data in-memory, if not all, but for computations that is data centric help? Is this what is expected from Disruptor?
EDIT: After some thought, I am convinced that any such service or db calls can itself be separated out as another event handler (asynchronously) before the computation job to emit necessary input required.
Let me know your thoughts.