我有一个应用程序,并说可以在应用程序中创建新对象。每当创建新对象(例如:说 hello)时,我希望 URLhello.example.com/hi
始终指向特定 IP。
发现有三种方法可以实现这一点。想知道如果 DNS 条目数量很多,是否会出现延迟,以及以下哪种方法最有效。
- 添加 DNS 条目 *.example.com ----> IP_1
问题是这也会将不需要的 DNS 重定向到IP_1
每次创建新对象时,运行脚本并动态添加特定的 dns
hello.example.com -----> IP_1 hi.example.com -----> IP_1 .......
因此会有很多映射。我有一个疑问,如果映射数量增加很多,查找时间是否会增加并导致延迟
使用多级
*.object.example.com
------>IP_1
答案1
您对这两种方法的担心都是没有根据的。
[通配符 DNS 记录] 还会将不需要的 DNS 重定向到 IP_1
- 那又怎么样?如果您想要多个 DNS 记录,这意味着您正在运行可以识别主机名的服务(例如 http、smtp)。您仍然需要为这些服务配置特定于主机名的行为。
- 您可以将显式 DNS 记录与通配符混合 - DNS 服务器应返回最具体的匹配
如果映射数量增加很多,查找时间会增加并导致延迟
只有当您运行一个编写得很差的 DNS 服务器时才会出现这种情况。Bind 和 powerDNS 不会出现此问题。
如果您确实决定使用显式记录而不是通配符(尽管可以说对于通配符来说它仍然是一个好主意)是将新记录创建为 CNAME 而不是 A 记录 - 它确实简化了维护/迁移。