按顺序依次将请求分配给每个服务器,循环往复。简单公平,但不考虑服务器负载。
根据服务器权重分配请求,权重高的服务器处理更多请求。适合服务器性能不同的场景。
将请求分配给当前连接数最少的服务器。动态平衡负载,适合长连接场景。
基于请求的哈希值映射到哈希环上的服务器。服务器增减时只影响相邻节点,适合分布式缓存。
| 算法 | 特点 | 适用场景 |
|---|---|---|
| 轮询 | 简单公平,均匀分配 | 服务器性能相近,短连接 |
| 加权轮询 | 考虑服务器性能差异 | 服务器性能不同,需要按权重分配 |
| 最少连接 | 动态平衡,考虑当前负载 | 长连接场景,连接持续时间不同 |
| 一致性哈希 | 服务器增减影响小,分布均匀 | 分布式缓存,CDN,微服务 |
本演示使用 FNV-1a 哈希算法(Fowler-Noll-Vo 哈希算法的变体)来计算服务器和请求的哈希值。