M25-15

懒人少于之第十五周
💙ipvs scheduler ipvs scheduler: `调度算法` 根据其调度时是否考虑各RS当前的负载状态 两种: 静态调度方法和动态调度方法 `静态: 起点公平,不关心用户状态/负载情况;动态: 最终结果/关注负载等` 静态方法: 仅根据算法本身进行调度 1、RR: roundrobin,轮询 `均摊,缺点无法保证各单台性能平均` 2、WRR: Weighted RR,加权轮询 `性能好的多负担,性能差少负担;根据权值来决定性能比---;当然在越复杂的算法情况内,效率将会越低` 3、SH: Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定 `源地址哈希,同一个地址过来的请求将发送到同一个RS服务器;缺点是针对NAT出来的一堆私地址都跑到同一个RS,若能从会话绑定改为cookie绑定将会更好(LVS无法达成)` 4、DH: Destination Hashing;目标地址hash,将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如: 宽带运营商 `目标地址哈希,前段调度器维护目标地址的表格,将需要发送的目标地址信息将转发到第一次决定的RS服务器上发送;比如多个用户都要看同一个视频,则运营商可能会将该视频缓存到缓存服务器里,下一次直接从服务器调度即可` 动态方法: 主要根据每RS当前的负载状态及调度算法进行调度 Overhead=value 较小的RS将被调度 `Overhead负载` 1、LC: least connections 适用于长连接应用 `最小连接算法` Overhead=activeconns*256+inactiveconns `活动链接*256+非活动链接数=负载(1个活动链接则为1个非活动,所以256个活动则256个非活动)` 2、WLC: Weighted LC,默认调度方法 `默认;带权重的算法` Overhead=(activeconns*256+inactiveconns)/weight `计算最终将/除以权重,承担十分之九的服务器则负载大` 前两种的权重值为0,导致第一次的连接将会是随机化,解决不了大请求问题() 若是第二次链接,则activeconns变为两个活动链接了.() 3、SED: Shortest Expection Delay,初始连接高权重优先 `解决第一次权重问题,至少权重值有1,只要1*256/权重得到的值可反馈到响应的服务器上` Overhead=(activeconns+1)*256/weight `解决优先调度,性能优主机` 4、NQ: Never Queue,第一轮均匀分配,后续SED `解决初次负载分配,让每台机器均分配到一次链接,后续再进行权重计算` 5、LBLC: Locality-Based LC,动态的DH算法,使用场景: 根据负载状态实现正向代理 `完全根据负载情况来调度,无随机` 6、LBLCR: LBLC with Replication,带复制功能的LBLC解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS `将负载重的数据缓存同步到其他服务器上,若第一台累了可被其它服务器帮助`

  

posted @ 2017-10-30 05:34  illinux  阅读(132)  评论(0编辑  收藏  举报