Central Event Catalog for Microservice Structure Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In event-driven microservices architecture, maintaining accurate and up-to-date event structures across multiple services is challenging for system designers, as event consumers need to know the structure of events published by event producers, which can lead to errors and inefficiencies in updating and processing events.
Innovation Solution
A central event catalog is implemented at design time, where an event description document is created and stored, including an event identifier, source code, and annotations, allowing event consumers to reconstruct the event structure at runtime, thereby ensuring accurate processing and avoiding the need for continuous updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If event consumers directly access event producers to obtain event structures, then event consumers can obtain event structures, but maintaining accuracy and up-to-date structures becomes challenging across multiple services
Solution Approach 1:
The patent introduces a central event catalog as an intermediary component that stores and manages event structure definitions. Event consumers query the catalog to obtain event structures rather than accessing event producers directly, ensuring they receive accurate and up-to-date information without increasing system complexity
Solution Approach 2:
The event catalog creates and maintains centralized copies of event structure definitions that can be efficiently distributed to multiple event consumers. This copying mechanism ensures all consumers access identical, accurate event structures without requiring direct connections to event producers
2Reliability
If event producers manually update all consumers of an event structure, then consumers can receive updates, but this process is error-prone and inefficient
Solution Approach 1:
Event consumers autonomously query the central event catalog to obtain event structure definitions themselves, eliminating the need for manual updates from event producers. This self-service mechanism ensures reliability through centralized control while improving productivity by automating the update process
Solution Approach 2:
The event catalog pre-stores event structure definitions in a centralized location before consumers need them. This preliminary action allows consumers to retrieve accurate event structures on-demand without waiting for manual updates, improving both reliability and efficiency
Data Source
AI summary
In an event-driven architecture, at design time a central catalog allows event consumer(s) to reconstruct an event structure for later processing during runtime. The central event catalog receives from a publisher (of an event producer), an event description document specifying an event identifier, source code of an event class extracted from an event, and an annotation. This event description document is stored by the catalog as a central instance in a database. Upon receiving a query from an event consumer regarding the event, the event description document is returned as a query result. A code generator (of the event consumer) creates the event structure from the event description document, allowing processing of the event. Embodiments are particularly suited to centrally locate a single, up-to-date instance of an event description document, for reference in allowing multiple consumers of an event to accurately reproduce the latest version the structure of that event.


