Hi All, 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. I will start a PoC with WSO2 CEP and share soon. -- Best Regards, Nirmal Nirmal Fernando. PPMC Member & Committer of Apache Stratos, Senior Software Engineer, WSO2 Inc. Blog: http://nirmalfdo.blogspot.com/
