Sometimes using multiple AZs may have some issues or challenges such as if you are using a Java-based application. Often the application caches the server IP address in the DNS, and as a result, it redirects the traffic to the same instance every time. This causes an imbalance in the instance capacity since the proper load distribution does not happen. Cross-zone load balancing solves that problem.
- Chapter 6 Auto Scaling
- from AWS Certified Solutions Architect Associate All-in-One Exam Guide (Exam SAA-C01)
- Publisher: McGraw-Hill
- Released: September 2018
Very poorly explained, I had to go to AWS online documentation to understand what the author meant: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html
The author should have made it clear when he mentioned that: "...it redirects the traffic to the same instance every time..." and should explicitly said "to the same load balancer instance".
Also should have mentioned that when cross load balancing is disabled, then the load balancer only distributes load within the instances registered within the same availability zone only.