What is Intelligent Traffic Flow?
Intelligent Traffic Flow (ITF) is a feature that optimizes the incoming traffic distribution to instances that are launched by Elastigroup. ITF manages in real time the traffic distribution to target groups based on the number of vCPUs (or other user-defined parameters) each target group has.
Elastigroup creates target groups on your behalf, assigns them to the rules that you provide, and continuously calculates and assigns the weights per each target group in the rule. Since the weights are based on the number of vCPUs in the target groups, and traffic is distributed according to the weights, then it is possible to optimize the vCPU utilization in each of the target groups.
You configure ITF as part of the creation or update of an Elastigroup, and during this process you can add one or more rules that all are under the same application load balancer (the rules can be from different listeners within the ALB). After adding a new rule, migration of the added rule will start. Elastigroup always uses a graceful migration process so that the distribution to the current instances is not interrupted.
ITF works only with application load balancers, and each Elastigroup can manage as many rules as you need.
The illustration below provides a high-level example of the method ITF uses for weighting the distribution of traffic to the target groups.
In this example, ITF has created three target groups. From left to right:
ITF calculates distribution weights as a percentage based on the target groups’s vCPUs per total vCPUs of all the target groups. For example:
Weight of Target Group 1 = (16 vCPU/34 vCPU) * 100 = 47%
The weights are used to ensure that whatever the capacity of the instances, each instance will be utilized to the appropriate amount. This method of load-balancing inbound traffic across varied instance types and sizes guarantees optimal workload performance and infrastructure utilization.