Statera: Um balanceador de carga rápido e flexível para aplicações HTTP na nuvem
Resumo
O balanceamento de carga é uma função essencial na computação em nuvem, e os balanceadores de carga de camada 4, notadamente, são amplamente utilizados para esse fim. Contudo, esse tipo de balanceador apresenta duas limitações típicas: 1) a impossibilidade de balanceamento baseado no conteúdo do tráfego; 2) generalização, não apresentando funções importantes para protocolos específicos. Neste trabalho nós apresentamos o Statera, um balanceador de carga flexível e específico para o protocolo HTTP, cujo objetivo é promover escalabilidade e sanar as limitações dos balanceadores de carga de camada 4. Ao longo do texto, nós expomos em detalhes a arquitetura do Statera e apresentamos resultados obtidos em diferentes cenários.
Referências
Azure (2022). Application gateway. [Online. Acesso em 7 jul. 2022].
Bourke, T. (2001). Server Load Balancing. Help for network administrators. O'Reilly Media, Incorporated.
Chen, T.-S. and Chen, K.-L. (2004). Balancing workload based on content types for scalable web server clusters. In 18th International Conference on Advanced Information Networking and Applications, 2004. AINA 2004., volume 2, pages 321-325. IEEE.
Dymora, P., Mazurek, M., and Sudek, B. (2021). Comparative analysis of selected open-source solutions for traffic balancing in server infrastructures providing www service. Energies, 14(22):7719.
Gandhi, R., Hu, Y. C., and Zhang, M. (2016). Yoda: A highly available layer-7 load balancer. In Proceedings of the Eleventh European Conference on Computer Systems, pages 1-16.
Google Cloud Plataform (2022). Cloud load balancer. [Online. Acesso em 7 jul. 2022].
k6 (2022). k6 documentation. [Online. Acesso em 11 jul. 2022].
Lee, R. and Jeng, B. (2011). Load-balancing tactics in cloud. In 2011 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, pages 447-454. IEEE.
Mesbahi, M. and Rahmani, A. M. (2016). Load balancing in cloud computing: a state of the art survey. Int. J. Mod. Educ. Comput. Sci, 8(3):64.
Mishra, S. K., Sahoo, B., and Parida, P. P. (2020). Load balancing in cloud computing: a big picture. Journal of King Saud University-Computer and Information Sciences, 32(2):149-158.
Naseer, U., Niccolini, L., Pant, U., Frindell, A., Dasineni, R., and Benson, T. A. (2020). Zero downtime release: Disruption-free load balancing of a multi-billion user website. In ACM SIG on Data Communication on the applications, technologies, architectures, and protocols for computer communication, pages 529-541.
Nielsen, H., Mogul, J., Masinter, L. M., Fielding, R. T., Gettys, J., Leach, P. J., and Berners-Lee, T. (1999). Hypertext Transfer Protocol - HTTP/1.1. RFC 2616.
Patel, P., Bansal, D., Yuan, L., Murthy, A., Greenberg, A., Maltz, D. A., Kern, R., Kumar, H., Zikos, M., Wu, H., et al. (2013). Ananta: Cloud scale load balancing. ACM SIGCOMM Computer Communication Review, 43(4):207-218.
Qian, L., Luo, Z., Du, Y., and Guo, L. (2009). Cloud computing: An overview. In IEEE international conference on cloud computing, pages 626-631. Springer.