https://konvict.cn/post/duo-wang-qia-ju-he/1. layer2:使用二层帧头作为计算分发出口的参数,这导致通过同一个网关的数据流将完全从一个端口发送,为了更加细化分发策略,必须使用一些三层信息,然而却增加了计算开销。
使用硬件 MAC 地址的 XOR 来生成 hash 。公式为:
(MACsrc⊕MACdest)% Nslave
该算法会将某个网络对( network peer )上所有的流量全部分配到同一个 slave 上。
2. layer2+3:在 1 的基础上增加了三层的 ip 报头信息,计算量增加了,然而负载却更加均衡了,一个个主机到主机的数据流形成并且同一个流被分发到同一个端口,根据这个思想,如果要使负载更加均衡。
3. layer3+4:可以形成一个个端口到端口的流,负载更加均衡。通过 TCP 及 UDP 端口及其 IP 地址进行 HASH 计算。该策略在可能的时候使用上层协议的信息来生成 hash 。这将允许特定网络对( network peer )的流量分摊到多个 slave 上,尽管同一个连接( connection )不会分摊到多个 slave 上。