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

32 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 移除负载均衡查询模式
## 问题分析
用户要求移除负载均衡查询模式,目前代码中支持多种查询模式,包括 "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 服务器和本地服务器,所以不能删除这个函数
- 确保修改后所有其他功能仍然正常工作