Details
-
New Feature
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
-
None
Description
With the new architecture, real-time events such as in-flight requests of a load balancer, health of a Cartridge instance etc. would get published directly to a Complex Event Processor (CEP). It's the duty of the CEP to emit an aggregated version of the events it received, to the reliable message broker so that auto-scaler could act upon the aggregated events.
So, what would be these aggregated events? Certainly it is not primitive as in-flight requests count at a given time and also not to the extreme of deciding whether to spawn a new instance, but some critical information, lies in between. Some examples would be,
Average requests-in-flight count / load-average of an instance.
Gradient of requests-in-flight / load-average of an instance.
Second Derivative of requests-in-flight / load-average of an instance. (to detect whether the gradient is increasing or decreasing over a time period)
Summarize failed requests.
Pattern detection.
etc.