2015-12-02 28 views
2

只是一个想法...使用DNS来分发版本号或其他信息

很多软件都有“检查更新”功能。

不必编写代码来查询分发服务器上的服务器,而必须让服务器能够处理很多请求,为什么不使用dns?

只要做一个dns查找version.myprog.mydom.tld可以给出一个版本号,并且查询将被缓存到上游。

因为分配更新版本的软件的适当框架应该到位,但它可能在filestorage的云中的某个位置,但不可能运行对版本号分配有用的东西。

有什么缺点?

回答

1

我能想到的唯一不足就是缓存:为了享受DNS的分布式特性带来的好处,您应该有一个非零的TTL,所以您对DNS做出的任何更新都不会是完全实时的,但稍后会被某些客户收到。当然,如果你的更新必须是实时的,这只是一个问题。

要考虑的另一件事是DNS限制了DNS标签的长度和可以使用的字符,所以通过DNS名称传递的任何信息都必须遵守RFC requirements。至于从version.myprog.mydomain.tld检索的版本号码,TXT RR已经被频繁地用于这种目的。

通过DNS发布非DNS数据并不完全是一项新发明。例如,DNSBLs这样做已经超过十年了,这只能证明它可以做得很好。

+0

当客户端下载新版本时,相当长的TTL将分散开来,所以当新版本可用时将避免巨大的负载。 –

+0

@LeifNeland:是的,这可以带来额外的好处:) – PeterK