Decoupled Business Event Processing System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing business transaction infrastructure experiences latency and underutilization of resources due to linear processing and tight coupling, which limits the ability to take advantage of modern multiprocessing architectures, leading to reluctance to address infrastructure issues with hardware upgrades.
Innovation Solution
A business event processing system with a decoupled architecture comprising a producer interface, transport interface, and consumer interface that generates, manages, and processes events in a multithreaded and asynchronous manner, allowing concurrent processing and efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If directives are queued and sequentially processed in a synchronized fashion, then processing stability is maintained, but latency increases and resource utilization decreases
Solution Approach 1:
The processing system is segmented into multiple independent threads that can process events concurrently. Each thread handles specific processing tasks independently, allowing parallel execution without synchronization overhead, thereby reducing latency while maintaining stability through structured thread management.
Solution Approach 2:
The system transitions from static sequential processing to dynamic concurrent processing. Threads are created and managed dynamically to handle events as they arrive, allowing the system to adapt to varying load conditions and optimize processing speed without compromising stability through proper thread coordination mechanisms.
2Device complexity
If directives are processed sequentially in a single thread, then system simplicity is maintained, but productivity is limited and resources remain idle
Solution Approach 1:
The processing workload is divided into multiple segments handled by separate threads. This segmentation enables concurrent processing of events, significantly improving productivity while keeping each individual thread relatively simple in structure, thus achieving high throughput without excessive complexity.
Solution Approach 2:
Multiple processing threads are merged into a unified event processing architecture where threads share common resources and coordinate through shared event queues. This merging approach improves productivity through parallel processing while maintaining overall system simplicity through unified architecture and shared data structures.
3Ease of manufacture
If the processing flow is tightly coupled, then implementation simplicity is maintained, but adaptability decreases and infrastructure changes require extensive modifications
Solution Approach 1:
The tightly coupled processing flow is segmented into independent modular components represented by separate threads and event handlers. Each module can be independently modified or replaced without affecting the entire system, significantly improving adaptability while maintaining implementation simplicity through standardized interface definitions.
Solution Approach 2:
An event-driven intermediary layer is introduced between different processing components. This intermediary uses event queues and message passing to decouple components, allowing flexible reconfiguration of processing flows while maintaining implementation simplicity through standardized event interfaces and protocols.
4Productivity
If additional hardware resources are added to address latency and load problems, then processing capacity increases, but cost increases and existing hardware underutilization is not resolved
Solution Approach 1:
The system uses dynamic thread creation and management to optimize resource utilization. Threads are spawned and terminated dynamically based on event arrival rates and processing requirements, allowing the system to achieve high processing capacity using existing hardware resources efficiently without requiring additional hardware investments.
Solution Approach 2:
The system changes operational parameters by transitioning from sequential to concurrent processing modes. By adjusting thread management parameters and processing priorities, the system achieves increased processing capacity through software optimization rather than hardware expansion, fully utilizing existing resources.
Data Source
AI summary
Techniques for business event processing are presented. Producer services produce events that are managed and distributed by a transport service. Consumer services acquire events from the transport service and perform actions in response to the events. The production, distribution, and processing of the events and actions may be asynchronously and concurrently performed.


