A Microservices Architecture for Distributed Complex Event Processing in Smart Cities
This addresses system resilience and performance issues for smart city applications that rely on real-time sensor data processing, though it appears incremental as it adapts existing architectural patterns to CEP.
The paper tackles the problem of resilience and performance bottlenecks in distributed Complex Event Processing (CEP) systems by proposing a choreography-based microservices architecture, which aims to improve scalability and reduce reliance on a central orchestrator.
A considerable volume of data is collected from sensors today and needs to be processed in real time. Complex Event Processing (CEP) is one of the most important techniques developed for this purpose. In CEP, each new sensor measurement is considered an event and new event types can be defined based on other events occurrence. There exists several open-source CEP implementations currently available, but all of them use orchestration to distribute event processing. This kind of architectural organization may harm system resilience, since it relies on a central core (i.e. the orchestrator). Any failures in the core might impact the whole system. Moreover, the core can become a bottleneck on system performance. In this work, a choreography-based microservices architecture is proposed for distributed CEP, in order to benefit from the low coupling and greater horizontal scalability this kind of architecture provides.