apisix 中的 DNS 解析

apisix 中的 DNS 解析

💡 原文中文,约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函数进行补丁修改。
🏷️

标签

➡️

继续阅读