Search code examples
esperlow-latencydisruptor-pattern

Difference between complex event processing and ring buffer


What is the difference between complex event processing and ring buffer disruptor? Both are used to receive data with low latency and less utilisation of system resource. Of course CEP with esper will trigger event based on our epl query. Apart from that any difference is there? When we should go for CEP and when we should go for ring buffer?


Solution

  • Disruptor is a multithreading-capable work queue. Esper is a SQL streaming query container. If you just want some concurrent staged multihreaded application code then disruptor is for you. If you have situation detection among events then Esper is for you. Use both if you have a pipeline that includes analyzing events.