浅谈几种常用负载均衡架构(3)
随机方式:请求随机分布到各个结点;在数据足够大的场景能达到一个均衡分布;
哈希方式:根据 key 来计算需要落在的结点上,可以保证一个同一个键一定落在相同的服务器上;
一致性哈希:在服务器一个结点出现故障时,受影响的只有这个结点上的 key,最大程度的保证命中率;如 twemproxy 中的 ketama方案;生产实现中还可以规划指定子 key 哈希,从而保证局部相似特征的键能分布在同一个服务器上;
根据键的范围来负载:根据键的范围来负载,前 1 亿个键都存放到第一个服务器,1~2 亿在第二个结点。
根据键对服务器结点数取模来负载:根据键对服务器结点数取模来负载;比如有 4 台服务器,key 取模为 0 的落在第一个结点,1 落在第二个结点上。
纯动态结点负载均衡:根据 CPU、IO、网络的处理能力来决策接下来的请求如何调度。
不用主动负载均衡:使用消息队列转为异步模型,将负载均衡的问题消灭;负载均衡是一种推模型,一直向你发数据,那么将所有的用户请求发到消息队列中,所有的下游结点谁空闲,谁上来取数据处理;转为拉模型之后,消除了对下行结点负载的问题。
缺点:不具有实时性;
比率(Ratio):给每个服务器分配一个加权值为比例,根椐这个比例,把用户的请求分配到每个服务器。当其中某个服务器发生第 2 到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 优先权(Priority):给所有服务器分组,给每个组定义优先权,BIG-IP 用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,BIG-IP 才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。 最少的连接方式(Least Connection):传递新的连接给那些进行最少连接处理的服务器。当其中某个服务器发生第 2 到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 最快模式(Fastest):传递连接给那些响应最快的服务器。当其中某个服务器发生第二到第7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 观察模式(Observed):连接数目和响应时间以这两项的最佳平衡为依据为新的请求选择服务器。当其中某个服务器发生第二到第 7 层的故障,BIG-IP 就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。 预测模式(Predictive):BIG-IP 利用收集到的服务器当前的性能指标,进行预测分析,选择一台服务器在下一个时间片内,其性能将达到最佳的服务器相应用户的请求。(被 BIG-IP 进行检测) 动态性能分配(Dynamic Ratio-APM):BIG-IP 收集到的应用程序和应用服务器的各项性能参数,动态调整流量分配。 动态服务器补充(Dynamic Server Act.):当主服务器群中因故障导致数量减少时,动态地将备份服务器补充至主服务器群。 服务质量(QoS):按不同的优先级对数据流进行分配。 服务类型(ToS): 按不同的服务类型(在 Type of Field 中标识)负载均衡对数据流进行分配。 规则模式:针对不同的数据流设置导向规则,用户可自行。 【责任编辑:庞桂玉 TEL:(010)68476606】点赞 0 (编辑:ASP站长网) |