💡
原文中文,约3100字,阅读约需8分钟。
📝
内容提要
该文章讨论了在Apisix中处理路由和上游的过程。当有上游时,将使用上游,否则将使用路由。如果路由包含域名,则会解析该域名。文章还提到了一个问题,即当DNS服务器短时间不可用后恢复时,Apisix中的DNS解析仍然会持续失败,需要重启Apisix或执行reload命令来解决。修复方式是在解析域名的过程中添加判断。
🎯
关键要点
- 文章讨论了在Apisix中处理路由和上游的过程。
- 当有上游时,将使用上游,否则将使用路由。
- 如果路由包含域名,则会解析该域名。
- 提到的问题是当DNS服务器短时间不可用后恢复时,Apisix中的DNS解析仍然会持续失败。
- 需要重启Apisix或执行reload命令来解决DNS解析失败的问题。
- 修复方式是在解析域名的过程中添加判断。
- 解析域名的过程涉及多个函数调用,包括handle_upstream和parse_domain_for_nodes。
- 在parse_domain_for_nodes函数中,没有检测最终结果是否为空,可能导致解析失败。
- 之前有一个issue提到DNS解析未能立即恢复,已被关闭但实际上可以复现。
- 目前的修复方式是对parse_domain_for_nodes函数进行补丁修改。
🏷️
标签
➡️