Clash负载均衡详细教程,轮询和散列模式解析

当我们使用购买的机场clash订阅或自建多个代理节点,怎么让把多个节点充分利用起来,达到网络速度叠加“负载均衡”的效果呢?

Clash负载均衡详细教程,轮询和散列模式解析
Clash负载均衡效果比较

👉致谢:部分素材来自科学上网圈大佬不良林,感谢大佬!

Clash负载均衡是什么?

Clash负载均衡的核心在于其能够动态地根据预设的负载分流模式轮询散列,对所有的网络访问请求进行智能分配。这一特性使得Clash能够在代理资源之间实现高效的利用,提升网络访问的速度、效率和稳定性。

延伸来看,Clash的负载均衡机制不仅仅是简单地轮询或散列分配请求,而是通过URL测试和策略组等多种手段,实现了对代理资源的智能管理和优化。通过定期对代理进行速度测试进行调度,Clash能够确保网络请求被发送到最适合的代理上,从而最大程度地提升用户体验和网络性能。

这种动态分配的方式,使得Clash能够适应不同网络环境和使用场景下的需求,无论是优化速度还是确保稳定性,都能够有效地满足用户的需求。因此,Clash的负载均衡不仅仅是简单的分流操作,更是一项基于智能算法的网络资源管理和优化技术。

Clash负载均衡详细教程,轮询和散列模式解析
负载均衡模式介绍

Clash负载均衡怎么设置?

以下以Clash For Windows为例,详细介绍负载均衡的设置步骤。

1.设置Parses

在Clash左侧点击设置Settings,然后在配置Profiles中找到预处理配置Parsers,点击编辑Edit。进入文本编辑页。

Clash负载均衡详细教程,轮询和散列模式解析
设置Parsers

2.设置负载均衡核心模式代码

在编辑器中输入以下代码,然后保存。

parsers:
  - reg: 'slbable$'
    yaml:
      append-proxy-groups:
        - name: ⚖️ 负载均衡-散列
          type: load-balance
          url: 'http://www.google.com/generate_204'
          interval: 300
          strategy: consistent-hashing
        - name: ⚖️ 负载均衡-轮询
          type: load-balance
          url: 'http://www.google.com/generate_204'
          interval: 300
          strategy: round-robin
      commands:
        - proxy-groups.⚖️ 负载均衡-散列.proxies=[]proxyNames
        - proxy-groups.0.proxies.0+⚖️ 负载均衡-散列
        - proxy-groups.⚖️ 负载均衡-轮询.proxies=[]proxyNames
        - proxy-groups.0.proxies.0+⚖️ 负载均衡-轮询

核心代码说明:

  • reg: ‘slbable$’表示以slbable字符结尾订阅地址的开启负载均衡
  • type: load-balance表示类型为负载均衡
  • strategy: consistent-hashing表示负载均衡策略为一致性散列Hash
  • strategy: round-robin表示负载均衡策略为轮询
  • interval: 300表示每隔300秒检查节点是否可用
Clash负载均衡详细教程,轮询和散列模式解析
编辑器设置负载均衡代码

3.调整订阅地址,增加slbable标记

在Clash左侧点击配置Profiles,然后在当前选中(绿色)的订阅中右击编辑,然后将订阅地址后面加上”#slbable”,然后点击保存。

Clash负载均衡详细教程,轮询和散列模式解析
编辑当前订阅
Clash负载均衡详细教程,轮询和散列模式解析
订阅地址增加#slbable标记

4.检查Parsers负载均衡是否匹配

在当前订阅右键,点击预处理配置Parsers,如果提示找到1条匹配的预处理配置“Found 1 matching parsers”,则表示配置成功,我们点击确定OK。

Clash负载均衡详细教程,轮询和散列模式解析
Parsers设置
Clash负载均衡详细教程,轮询和散列模式解析
提示匹配成功

5.更新订阅触发负载均衡

在当前订阅中点击更新订阅图标,然后在rule中我们会发现多了两个选项,“负载均衡-散列”和“负载均衡-轮询”。

Clash负载均衡详细教程,轮询和散列模式解析
点击更新订阅图标
Clash负载均衡详细教程,轮询和散列模式解析
出现负载均衡选项

6.选中负载均衡策略

根据实际需要选择对应轮询或散列策略。

轮询和散列负载均衡策略比较

Clash的负载均衡策略主要包括轮询(Round-Robin)和一致性哈希(Consistent Hashing)两种方式,这两种方式的主要区别在于它们分配请求的方式不同。

  1. 轮询(Round-Robin):这是一种简单的负载均衡策略,它将所有的请求按照顺序分配到各个代理上。例如,如果有三个代理,那么第一个请求会被分配到第一个代理,第二个请求会被分配到第二个代理,第三个请求会被分配到第三个代理,第四个请求会再次被分配到第一个代理,以此类推。这种方式的优点是实现简单,但可能会在某些代理负载较大时导致性能瓶颈。
  2. 一致性哈希散列(Consistent Hashing):这是一种更为复杂的负载均衡策略,它通过使用哈希函数将请求分配到代理上。在这种策略下,每个代理都被分配一个哈希值,然后每个请求的哈希值会被计算出来,并分配给哈希值最接近的代理。当一个代理失败或新的代理加入时,只会影响到哈希值附近的一小部分请求,从而实现更为平滑的负载均衡。这种方式的优点是能够更好地处理代理的动态变化,但实现起来相对复杂。

轮询策略

轮询方式会循环切换不同节点,比如我们使用speedtest进行测速时,可用看到connections日志中会分配不同的节点,当我们每个节点带宽有限时,使用这种方式,可以大大提供客户端的科学上网网速,达到网速叠加的效果。

Clash负载均衡详细教程,轮询和散列模式解析
轮询方式测速,每次请求不同节点

散列方式

散列方式会将同一个域名的请求全部分到同一个节点,从而实现按域名进行节点分流的效果。

此种方式适用于风控较强的场景,避免被网站检查到不同区域IP登录。

Clash负载均衡详细教程,轮询和散列模式解析
散列方式测速
正文完
 2