爱奇艺 TFServing 负载均衡问题研究及改进实践
摘要
通常来说,负载均衡的职责是将网络请求或者其他形式的负载“均摊”到不同的机器上,避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况,让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。
负载均衡可分为软件负载均衡和硬件负载均衡,其中软件负载均衡比较常见,比如Nginx,它会对接受请求进行分配,避免少数服务提供者负载过大而导致的部分请求超时。因此将负载均衡到每个服务提供者上,是非常必要的。
在分布式的微服务系统中,多台服务器同时提供一个服务,并统一到服务配置中心,消费者通过查询服务配置中心,获取服务到地址列表,需要选取其中一台来发起RPC远程调用。如何选择则取决于具体的负载均衡算法,对应于不同的场景选择不尽相同。负载均衡算法的种类有很多种,常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法、Latency-Aware等,需根据具体的应用场景选取对应的算法。
本文将围绕爱奇艺内容理解业务对TFServing服务调用的几个问题,以及应对这些问题的解决思路和方案进行介绍。
欢迎在评论区写下你对这篇文章的看法。