32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
# 移除负载均衡查询模式
|
||
|
||
## 问题分析
|
||
用户要求移除负载均衡查询模式,目前代码中支持多种查询模式,包括 "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 服务器和本地服务器,所以不能删除这个函数
|
||
- 确保修改后所有其他功能仍然正常工作 |