原文中文,约3100字,阅读约需8分钟。
📝
内容提要
该文章讨论了在Apisix中处理路由和上游的过程。当有上游时,将使用上游,否则将使用路由。如果路由包含域名,则会解析该域名。文章还提到了一个问题,即当DNS服务器短时间不可用后恢复时,Apisix中的DNS解析仍然会持续失败,需要重启Apisix或执行reload命令来解决。修复方式是在解析域名的过程中添加判断。
❓
Q&A
在Apisix中如何处理路由和上游?
在Apisix中,如果有上游,则使用上游;如果没有,则使用路由。如果路由包含域名,则会解析该域名。
当DNS服务器短时间不可用后,Apisix中的DNS解析会发生什么?
当DNS服务器短时间不可用后,Apisix中的DNS解析会持续失败,直到重启Apisix或执行reload命令。
如何解决Apisix中的DNS解析失败问题?
解决DNS解析失败的问题需要重启Apisix或执行reload命令,此外可以在解析域名的过程中添加判断。
在解析域名的过程中涉及哪些函数调用?
解析域名的过程涉及多个函数调用,包括handle_upstream和parse_domain_for_nodes等。
为什么在parse_domain_for_nodes函数中可能导致解析失败?
在parse_domain_for_nodes函数中,没有检测最终结果是否为空,可能导致解析失败。
之前提到的DNS解析未能立即恢复的问题是什么?
之前提到的DNS解析未能立即恢复的问题是由于DNS服务器恢复后,Apisix中的DNS解析仍然失败,直到重启或reload。
🏷️