服务发现应用程序解决了哪些基于 DNS 的服务查找无法解决的问题?

What does a service discovery application solve that couldn't be met by DNS based lookup for a service?

我很高兴地摆脱了较小设置的主机文件条目和较大设置的基于 DNS 的服务名称。包括使用搜索顺序构建要查找的服务的完整 DNS 名称。不清楚service discover如何也能占用负载均衡问题?

利用 SRV 和 TXT 记录,可以从 DNS 构建一个完全可行的服务发现。 Spotify 正是这样做的。 SRV 记录很明显,但没有多少人意识到出于某种原因可以将许多应用程序设置放在 TXT 记录中。值可以被树中较低的值覆盖。它最终成为一种轻量级的 zookeeper,它模仿了 DNS 结构。更现代的服务定位器对内容的限制更少,可以直接在服务定位器中存储 ssl 密钥(加密)、配置片段等。一条 DNS TXT 记录有 255 个字符的限制,因此有点受限。如果将值拆分为单独的字符串,则 TXT 记录中最多可以容纳 64K,但这有点愚蠢。另一方面,DNS 具有很强的容错能力并且速度极快。

注意:人们谈论的内容 "service discovery" 他们通常不只是严格地谈论那个,还包括通常存储在文件中的存储端点和其他设置。