面试题答案
一键面试加权轮询负载均衡策略
- 优点:
- 性能:按权重顺序分配请求,相对公平,可利用服务器不同处理能力,性能较稳定。
- 资源利用:能根据服务器性能分配权重,充分利用资源,避免部分服务器闲置。
- 适用性:适用于服务器性能有差异且相对稳定的场景,如不同配置的服务器组成的集群。
- 缺点:
- 性能:若某高权重服务器故障,短时间内请求分配不均,可能影响整体性能。
- 资源利用:不能实时根据服务器当前负载动态调整分配,可能出现资源浪费。
- 适用性:不适用于服务器负载变化频繁场景。
随机策略
- 优点:
- 性能:算法简单,计算开销小,响应速度快。
- 资源利用:从概率上保证请求分散,一定程度均衡资源利用。
- 适用性:适用于对性能要求不高、服务器性能相近的场景。
- 缺点:
- 性能:完全随机,可能导致请求集中在某些服务器,影响性能。
- 资源利用:无法依据服务器实际性能和负载分配,资源利用可能不均衡。
- 适用性:不适用于对负载均衡精度要求高的场景。
最小连接数策略
- 优点:
- 性能:实时监测服务器连接数,将请求分配给连接数少的服务器,保证各服务器负载相对均衡,性能好。
- 资源利用:根据实时负载分配,资源利用更合理。
- 适用性:适用于长连接业务场景,如数据库连接池。
- 缺点:
- 性能:需实时获取服务器连接数,监测开销大,影响性能。
- 资源利用:未考虑服务器性能差异,可能导致高性能服务器连接少而资源浪费。
- 适用性:不适用于短连接业务场景,因连接数变化快,监测滞后。
融合业务场景及方案
- 业务场景:在线游戏服务器集群,部分服务器配置高用于处理复杂计算(如多人团战场景),部分配置低处理简单场景(如单人任务场景),且游戏在线人数波动大。
- 融合方案:初始采用加权轮询策略,按服务器性能分配权重,保证资源合理利用。当某服务器连接数达到一定阈值(如80%满载),切换为最小连接数策略,将后续请求分配给连接数少的服务器。当负载降低,再切回加权轮询策略。
- 技术挑战及解决方案:
- 挑战:策略切换时机难把握,可能导致切换频繁或不及时。
- 解决方案:设置合理阈值及缓冲时间,如连接数在阈值附近波动一定时间才进行策略切换。
- 挑战:实时获取服务器连接数开销大。
- 解决方案:采用分布式缓存存储连接数信息,减少获取开销,并设置缓存过期时间保证数据实时性。