What is the difference between Actor Model Framework (e.g. Orleans) and Complex Event Processing (CEP) (e.g. Apache Storm) ?
Usage examples where each of these approaches are applicable (or one is more applicable than the other) would certainly be helpful.
Apache Storm is a distributed realtime computation system (source: project website).
CEP is Complex Event Processing, which is concerned with tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. (Source: Wiki)
They are two different things. Storm does not itself perform any analysis, unless you deploy your own code to perform said analysis. That makes YOUR code do CEP, not Storm. You can do CEP using Storm, or you can use JMS, or something else.
Actor-based frameworks, such as Akka or Orleans, are also candidates for hosting your custom event-analysis code performing CEP.
I'm not hugely familiar with the Actor Model, but from what I can gather it's a lower level, more general pattern than CEP.
CEP is also called event stream processing. It's typically about processing large, fast streams of data in real time. It's about spotting patterns in the data and acting on them, or enriching the data or (clever) filtering of the data.
You could use the Actor Model to implement a CEP engine, but it's not the only way of doing it. The Actor Model also appears to be applicable to things other than CEP.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With