Router Engine Load-Aware Event Routing in ESP Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current event stream processing systems for geographically distributed sensors face challenges in load balancing, as existing policies do not account for server load, leading to inefficient distribution of event processing tasks and potential overload on servers.
Innovation Solution
The implementation of a cluster manager device that uses a configuration file to route event block objects to appropriate servers based on policies like multicast-destination, roundrobin-destination, or hash-destination, ensuring load balancing across servers by dynamically selecting the server for processing event streams.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If regular routing policies (multicast-destination, roundrobin-destination, hash-destination) are used to distribute events, then event distribution is simplified and deterministic, but load balancing performance deteriorates because servers are routed to without considering their current load
Solution Approach 1:
The router engine continuously monitors server load metrics and uses this feedback information to dynamically adjust event routing decisions. Instead of using static routing policies, the system incorporates real-time load data to determine which servers should receive events, thereby achieving load balancing while maintaining operational simplicity through automated feedback-driven routing.
Solution Approach 2:
The routing system transitions from static, predetermined routing policies to dynamic routing that adapts to changing server load conditions. The router engine dynamically selects destination servers based on current load metrics, allowing the system to respond to varying workloads in real-time while maintaining the simplicity of the routing mechanism through automated adaptation.
2Productivity
If events are distributed to servers without considering server load, then routing decisions are faster and simpler, but server overload occurs leading to reduced system productivity
Solution Approach 1:
The router engine automatically performs load monitoring and routing decisions without requiring manual intervention or complex external control mechanisms. The system self-adjusts event distribution based on real-time server load metrics, maintaining high productivity while keeping the routing decision process simple through automated self-service operations.
Solution Approach 2:
The system incorporates feedback loops that continuously monitor server load and use this information to automatically adjust routing decisions. This feedback mechanism enables the system to maintain optimal productivity by dynamically responding to load conditions without requiring complex manual routing decisions, as the feedback-driven automation handles the complexity internally.
3Reliability
If load-aware routing is implemented to prevent server overload, then server reliability improves, but routing complexity increases and response time may increase
Solution Approach 1:
The router engine proactively monitors server load metrics and prepares routing decisions in advance based on predicted load patterns. By performing preliminary load assessment and pre-positioning routing decisions, the system can quickly route events to appropriate servers without introducing significant delays, while still achieving load-aware routing that improves server reliability.
Solution Approach 2:
The system replaces complex manual routing mechanisms with automated software-based load-aware routing. By substituting mechanical/deterministic routing with intelligent software algorithms that monitor and respond to load conditions, the system achieves improved reliability without proportionally increasing complexity or routing delay, as the automation handles the computational tasks efficiently.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computing device manages a router. A manager engine is instantiated based on a manager engine definition and instantiates a manager ESPE based on a created manager ESP model. A router configuration file is created based on mapping information read from the manager configuration file that describes connectivity between an event publishing source and a source window of the manager ESPE. A router engine is instantiated based on the created router configuration file. A connector is started to receive an event based on the router configuration file. The event is received in the source window of the manager ESPE processed based on the manager ESP model. A third computing device is selected by the router engine based on a usage metric received from each window of a plurality of windows defined by a remote ESP model configured to further process the processed event when it is received.