Hybrid Push-Pull Event Broker for Serverless Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Serverless function architectures face performance issues due to finite computing resources on local host systems, leading to increased latency and decreased performance when handling events, as events need to be directed to remote host systems, which have higher latency.
Innovation Solution
A hybrid push and poll event broker system that polls the event queue to determine projected computing resource usage and modifies event headers to direct events to either local or remote host systems based on available resources, maximizing execution on local host systems with lower latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If events are directed to remote host systems due to finite computing resources on local host systems, then the system can handle more events, but latency increases and performance decreases
Solution Approach 1:
The system dynamically adjusts event routing decisions based on real-time monitoring of local host system resource availability. The event broker continuously polls resource metrics and adapts routing behavior accordingly, switching between local and remote execution based on current conditions rather than using a static routing rule.
Solution Approach 2:
The event broker acts as an intermediary component that sits between the event queue and host systems, intelligently routing events to appropriate execution locations. It monitors resource conditions and makes routing decisions to optimize the balance between handling capacity and latency, preventing direct connections from experiencing the contradiction.
2Speed
If more events are processed on local host systems, then latency is reduced and performance is improved, but computing resources may be exhausted
Solution Approach 1:
The system implements feedback through continuous polling of local host system resource metrics by the event broker. This feedback loop provides real-time information about resource availability, enabling the broker to adjust routing decisions dynamically. When resources are sufficient, events are routed locally for fast execution; when resources are exhausted, routing shifts to remote systems to prevent overload.
Solution Approach 2:
The routing strategy is dynamic rather than static, adapting to changing resource conditions. The system continuously monitors resource metrics and adjusts the proportion of events routed to local versus remote systems based on current capacity, allowing optimal performance while maintaining reliability under varying load conditions.
3Productivity
If a hybrid push and poll event broker is implemented to optimize event distribution, then performance is improved, but system complexity increases
Solution Approach 1:
The event broker performs multiple functions within a single component: it polls event queues, monitors resource metrics, makes routing decisions, and manages event distribution. This multi-functionality consolidates what could be separate complex systems into one unified broker, improving productivity while containing complexity within a single manageable component.
Solution Approach 2:
The broker uses periodic polling actions to monitor both event queue status and resource metrics. This structured, periodic approach simplifies the complexity by using regular intervals for status checks and decision-making, rather than requiring continuous complex monitoring and adaptive algorithms.
Data Source
AI summary
Events to be executed by one or more serverless functions are received from an events queue. A determination that a first set of the events are to be executed by one or more serverless functions at a local host system and a second set of the events are to be executed at one or more serverless functions at a remote host system is made. The first set of the events are directed to the one or more serverless functions at the local host system and the second set of the events are directed to the one or more serverless functions at the remote host system.


