Abstract
Microservice architectures are an emerging paradigm for developing event-driven applications. By prescribing that an application is decomposed into small and independent components, each encapsulating its own state and communicating via asynchronous events, new components and events can be easily integrated into the system. However, by pursuing a model where events are generated and processed at the application-level, developers have a hard time to safeguard arbitrary event interleavings from doing harm to application safety.
To address these challenges, we start by analyzing event-driven microservice open-source applications to identify unsafe interleavings. Next, we categorize event-based constraints to address such unsafe encodings, providing an easy-to-use guide for microservice developers. Finally, we introduce StreamConstraints, a library built on top of Kafka Streams designed to enforce explicit event-based constraints defined by developers. We showcase StreamConstraints based on the case of a popular event-driven microservice system, and demonstrate how it could benefit from event-based constraints to ensure application safety.
To address these challenges, we start by analyzing event-driven microservice open-source applications to identify unsafe interleavings. Next, we categorize event-based constraints to address such unsafe encodings, providing an easy-to-use guide for microservice developers. Finally, we introduce StreamConstraints, a library built on top of Kafka Streams designed to enforce explicit event-based constraints defined by developers. We showcase StreamConstraints based on the case of a popular event-driven microservice system, and demonstrate how it could benefit from event-based constraints to ensure application safety.
Original language | English |
---|---|
Title of host publication | ACM International Conference on Distributed and Event‐based Systems (DEBS) |
Place of Publication | Minal, Italy |
Publisher | Association for Computing Machinery |
Publication date | 28 Jun 2021 |
Edition | 2021 |
Pages | 180–183 |
DOIs | |
Publication status | Published - 28 Jun 2021 |
Event | 15th ACM International Conference on Distributed and Event-based Systems - Virtual Duration: 28 Jun 2021 → 2 Jul 2021 |
Conference
Conference | 15th ACM International Conference on Distributed and Event-based Systems |
---|---|
City | Virtual |
Period | 28/06/2021 → 02/07/2021 |