← 返回信息流
AI 资讯Hacker News·3 天前

Cloudflare域名服务器命名背后的故事

原标题:What's the story behind the names of Cloudflare's name servers? (2013)

速览

Cloudflare的域名服务器名称背后有何故事?本文追溯了2013年该命名规则的起源与趣闻,揭示技术公司的文化细节。

AI 深度解读

背景

2013 年,Cloudflare 在一篇博客文章中揭秘了其域名服务器命名背后的故事。当时,许多用户好奇为什么 Cloudflare 分配给客户的域名服务器名称看起来像人名,例如 bob.ns.cloudflare.comlola.ns.cloudflare.com。这篇文章解释了这些名字的由来:它们并非随意选择,而是为了解决一个具体的技术问题——如何避免不同用户同时为同一个域名注册时产生的 DNS 记录冲突。

核心内容

当用户注册 Cloudflare 时,系统会为其分配两个域名服务器域名,例如:

  • bob.ns.cloudflare.com
  • lola.ns.cloudflare.com

这些名字中的 "Bob" 和 "Lola" 来源于一个简单的创意:Cloudflare 团队希望用一对对的人名来唯一标识每次注册的域名。

早期,Cloudflare 的注册流程中使用的是标准格式的域名服务器名称,如 dns1.cloudflare.comdns2.cloudflare.com 等。系统会随机组合两个数字,分配给不同用户。例如,用户 Alice 注册 example.com 时可能得到 dns7.cloudflare.comdns23.cloudflare.com;而用户 Betty 稍后注册同一个域名时,可能得到 dns3.cloudflare.comdns84.cloudflare.com。当 Cloudflare 收到对 example.com 的第一个 DNS 请求时,系统会检查该域名在注册商处实际配置的域名服务器。如果实际配置的是 dns3dns84,则认为 Betty 的注册有效,她提交的 DNS 记录成为权威记录。

但团队很快发现用户会“耍小聪明”:有些人看到域名服务器名称中的数字序列后,试图手动添加更多域名(例如 dns3, dns4, dns5, dns6 等),以为这样能增加查询的服务器数量。实际上,这些域名指向的是 Cloudflare 全球数据中心中数百台服务器的弹性资源池,额外增加域名并不会提升性能,反而会导致验证失败——因为系统期望的恰好是分配的那两个名称。

为了解决这个问题,Cloudflare 团队决定采用一种不按顺序排列的名称方案。他们花了一个下午,生成了 100 个常见的 2 到 4 字母人名,最初包括 50 个男孩名和 50 个女孩名,例如 Bob 和 Lola。每个用户注册时都会得到一个男孩名和一个女孩名,总共可以产生 2500 种唯一组合。这样一来,用户很难猜出下一个名称是什么,也就无法手动添加无效的域名服务器。

其中一个有趣的插曲是:团队曾收到用户投诉,批评这种命名方式“异性恋规范”(hetero-normative)。Cloudflare 回应称,两个域名服务器之间并不代表任何关系,并强调工作场所的多样性是好事。

除了技术原因,Cloudflare 还希望为域名服务器赋予个性。他们委托插画师将 100 个名称绘制成忍者的形象,隐喻两个忍者域名服务器在保护网站。虽然这些画作最终没有广泛使用,但团队允许早期成员、投资者甚至法律顾问选择代表他们名字的忍者形象。其中一幅画中,一个微笑的忍者站在 Segway 平衡车上。这立刻让团队想起了苹果联合创始人 Steve Wozniak(爱称 Woz),他当时住在 Palo Alto 附近,经常骑着 Segway 在镇上穿梭。团队决定将 "Woz" 加入域名服务器名称列表,但此时 100 个名称已经上线生产。于是他们追加了第 101 个名称(51 个男孩名,50 个女孩名)。截至文章发布时,已有 13,899 个 Cloudflare 客户使用了包含 "Woz" 的域名服务器。

验证步骤完成后,域名服务器的名称便失去了技术重要性。Cloudflare 的基础设施被配置为能够响应任何客户端的任何请求,从而实现细粒度的负载均衡。虽然每个用户只得到两个域名,但实际上它们指向 Cloudflare 全球 23 个数据中心中数百台服务器的弹性资源池。

关键要点

  • 注册冲突问题:当两个用户同时为同一域名注册时,系统需要一种方式来确定哪个 DNS 记录是权威的。通过在域名服务器名称中嵌入唯一代码,Cloudflare 可以在收到首个 DNS 请求时验证注册商处实际配置的名称,从而确认正确的记录。
  • 早期方案的缺陷:使用 dnsN 格式的数字序列时,用户容易猜测并手动添加额外域名,这既无益处又导致验证失败。
  • 人名命名方案:采用 100 个常见人名(50 男 50 女),每次分配一个男孩名和一个女孩名,共产生 2500 种唯一组合。这几乎消除了用户猜测序列的可能性。
  • 第 101 个名字 "Woz":受 Steve Wozniak 的 Segway 忍者插画启发,团队追加了 "Woz",使其成为唯一一个非原始列表中的名称。
  • 弹性架构:域名服务器的名称仅在验证阶段重要。验证后,所有请求均由同一个全局弹性资源池响应,无论名称是什么。
  • 全球覆盖:Cloudflare 当时已在 23 个数据中心运行,域名服务器指向的是多台服务器,而非仅两台物理机。

意义与影响

这项命名策略展示了 Cloudflare 如何将技术创新与用户体验巧妙结合。一方面,它解决了 DNS 权威性验证的实际问题,避免了并发注册冲突;另一方面,人名化的命名方式让用户感到亲切,甚至成为品牌记忆点。从技术角度看,Cloudflare 的域名服务器架构从一开始就设计为弹性、可扩展的,允许其在全球范围内实现快速、可靠的权威 DNS 服务。后续 Cloudflare 将这一基础扩展到更广泛的 CDN、安全和应用服务中,成为互联网基础设施的关键组成部分。这个故事也体现了互联网公司如何通过创意解决工程难题,同时保持对用户行为的深刻理解——即使是最微小的命名决策,背后也可能藏着严谨的技术逻辑。

查看原文 →blog.cloudflare.com