负载均衡

来自泡泡学习笔记
跳到导航 跳到搜索

在调用服务时,需要将请求发送给被调用服务的某个实例,这是负载均衡的业务场景。

负载均衡的目的是确保高效且正确地提供服务。

两个关键点是公平性和正确性。

  • 公平性指负载均衡需要关注被调用服务实例组之间的公平性,不要出现负载不均的情况。
  • 正确性指负载均衡需要确保请求能正确路由到可以提供正确服务的实例上,尤其是对于有状态的服务。

根据不同的业务场景,存在多种负载均衡策略,其中最重要的因素是后端实例是否有状态。负载均衡的设计要考虑请求的状态,以避免请求无法处理或获得错误的结果。

无状态的负载均衡模型指的是参与负载均衡的后端实例是无状态的,并且所有的实例都是对等的。不论请求发送到哪个实例,都会得到相同且正确的处理结果,因此无状态的负载均衡策略不需要考虑请求的状态。如果需要处理状态信息,可以将这些信息交由中心存储来处理,例如MySQL数据库和Redis缓存等。这样的设计原则简化了系统的设计。