Resilient Event Processing via Asynchronous Feedback Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Service-oriented architectures (SOAs) and microservice architectures (MSAs) lack tools to provide consumers and users with sufficient updates on the state of requests, leading to inefficiencies and difficulties in determining when to report errors or retry requests due to the 'black box' nature of event processor services, which are opaque to downstream services.
Innovation Solution
An event processing system with a publisher microservice, subscriber microservices, and an event processing device equipped with an events API and a message broker service that ensures resilient message processing through asynchronous communications, providing updates and confirmation messages to manage request states and facilitate secure access to protected payload data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If standard SOA or MSA event processor services are used, then system flexibility and continuous delivery are improved, but consumers cannot determine request state, error occurrence, or processing failures
Solution Approach 1:
The patent implements feedback mechanisms where event processor services publish status information about request processing to consumers. This allows consumers to receive updates on request state, error conditions, and processing failures, resolving the information loss problem while maintaining the flexibility of microservice architectures.
Solution Approach 2:
The patent introduces an intermediary mechanism that enables event processor services to communicate their internal state to consumers without tightly coupling the services. This mediator approach allows request state information to be shared while preserving the independence and flexibility of individual microservices.
2Adaptability or versatility
If event processor services operate independently, then service independence and deployment flexibility are improved, but downstream services cannot detect when to report errors or retry requests
Solution Approach 1:
Event processor services publish feedback information about their processing status, error conditions, and completion states to downstream consumers. This feedback mechanism enables reliable error detection and retry decisions while maintaining service independence through asynchronous communication.
Solution Approach 2:
The system performs preliminary actions by having event processor services proactively publish status information before consumers need to make decisions about error handling or retries. This advance notification enables consumers to prepare appropriate responses without blocking service independence.
3Loss of information
If message delivery is attempted to all recipient microservices, then complete information distribution is improved, but system complexity and processing overhead increase
Solution Approach 1:
The patent segments the message delivery process by maintaining separate queues for different recipient microservices and processing messages independently for each service. This segmentation enables complete information distribution while managing complexity through structured organization of delivery operations.
Solution Approach 2:
The system maintains continuous message delivery attempts to all registered recipient microservices until successful delivery or confirmation is received. This continuous action ensures complete information distribution while the systematic approach to tracking and managing delivery states prevents uncontrolled complexity increase.
Data Source
AI summary
An event processing system is provided for providing resilient message processing using asynchronous communications. The event processing device includes a processor and a memory. The event processing device is in communication with a publisher microservice and subscriber microservices. The processor is configured to receive an event including a collection of data from the publisher microservice. The processor is also configured to process the event to identify a recipient microservice. The processor is configured to update a queue with a queue entry for each of the at least one recipient microservices for the event. Each queue entry is associated with a priority. The processor is also configured to attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message is received. The processor is further configured to update the queue by removing the queue entry for which the transmission confirmation message is received.


