Files
dns-server/dns/.trae/documents/plan_20260102_110215.md
Alex Yang cdac4fcf43 update
2026-01-16 11:09:11 +08:00

1.5 KiB
Raw Permalink Blame History

移除负载均衡查询模式

问题分析

用户要求移除负载均衡查询模式,目前代码中支持多种查询模式,包括 "loadbalance"(负载均衡)、"parallel"(并行请求)、"fastest-ip"最快的IP地址。负载均衡模式使用加权随机选择算法来选择上游服务器。

解决方案

  1. 从配置中移除 "loadbalance" 作为可用选项
  2. 从代码中移除 "loadbalance" 分支
  3. 确保其他使用 selectWeightedRandomServer 函数的地方不受影响

实施步骤

  1. 修改 config/config.go 文件,更新 QueryMode 字段的注释,移除 "loadbalance" 选项
  2. 修改 dns/server.go 文件,移除 switch 语句中的 "loadbalance" 分支
  3. 确保所有使用 selectWeightedRandomServer 函数的地方仍然正常工作
  4. 测试修改后的代码,确保 DNS 服务器仍然正常运行

修改内容

  • 文件:/root/dns/config/config.go

    • 修改点:更新 QueryMode 字段的注释,移除 "loadbalance" 选项
  • 文件:/root/dns/dns/server.go

    • 修改点:移除 switch 语句中的 "loadbalance" 分支第1139-1260行

预期效果

  • 负载均衡查询模式将不再可用
  • DNS 服务器仍然支持其他查询模式parallel、fastest-ip
  • 其他功能不受影响
  • 代码更加简洁,减少了维护成本

注意事项

  • selectWeightedRandomServer 函数不仅用于负载均衡模式,还用于选择 DNSSEC 服务器和本地服务器,所以不能删除这个函数
  • 确保修改后所有其他功能仍然正常工作