对于大量记录,DNS的更好选择

对于大量记录,DNS的更好选择

我有一个应用程序,并说可以在应用程序中创建新对象。每当创建新对象(例如:说 hello)时,我希望 URLhello.example.com/hi始终指向特定 IP。

发现有三种方法可以实现这一点。想知道如果 DNS 条目数量很多,是否会出现延迟,以及以下哪种方法最有效。

  1. 添加 DNS 条目 *.example.com ----> IP_1

问题是这也会将不需要的 DNS 重定向到IP_1

  1. 每次创建新对象时,运行脚本并动态添加特定的 dns

    hello.example.com -----> IP_1 hi.example.com -----> IP_1 .......

    因此会有很多映射。我有一个疑问,如果映射数量增加很多,查找时间是否会增加并导致延迟

  2. 使用多级

    *.object.example.com------>IP_1

答案1

您对这两种方法的担心都是没有根据的。

[通配符 DNS 记录] 还会将不需要的 DNS 重定向到 IP_1

  • 那又怎么样?如果您想要多个 DNS 记录,这意味着您正在运行可以识别主机名的服务(例如 http、smtp)。您仍然需要为这些服务配置特定于主机名的行为。
  • 您可以将显式 DNS 记录与通配符混合 - DNS 服务器应返回最具体的匹配

如果映射数量增加很多,查找时间会增加并导致延迟

只有当您运行一个编写得很差的 DNS 服务器时才会出现这种情况。Bind 和 powerDNS 不会出现此问题。

如果您确实决定使用显式记录而不是通配符(尽管可以说对于通配符来说它仍然是一个好主意)是将新记录创建为 CNAME 而不是 A 记录 - 它确实简化了维护/迁移。

相关内容