我使用 Netlify 来托管我的静态站点example.com
。由于我不想附加www
,我必须使用Netlify的DNS名称服务器。
example.com
使用 API 后端api.example.com
,这是一个解析为 ELB 地址*.elb.amazonaws.com
的CNAME
记录。
所以需要 2 个 DNS 查找:首先要example.com
,然后是*.elb.amazonaws.com
。
替代方法:使用 Route 53 设置另一个自定义域example.org
,该域具有指向*.elb.amazonaws.com
的ALIAS
记录api.example.org
,并对example.com
的 API 终端节点使用api.example.org
而不是api.example.com
,然后它必须查找example.com
并api.example.org
。
选择替代方案是否有任何性能优势?它们会相似吗,因为唯一的区别是它必须查找api.example.org
而不是*.elb.amazonaws.com
?
别名记录优于 CNAME 记录,因为它们在解析时直接返回 IP 地址。
示例 1:
api.example.com
作为*.elb.amazonaws.com
的别名记录
您的浏览器将首先解析example.com
,下载HTML代码,然后在执行页面时,它将需要解析api.example.com
。当它这样做时,它将:
- 接收别名记录结果,然后
- 需要解决
*.elb.amazonaws.com
因此,在上面,总共需要3个决议。
示例 2:
api.example.org
作为*.elb.amazonaws.com
的别名
您的浏览器将首先解析example.com
,下载HTML代码,然后在页面执行时,它将需要解析api.example.org
。当它这样做时,它将:
- 直接接收 A 结果(IP 地址)
因此,在上面,总共需要2个决议。