【发布时间】:2017-04-29 22:05:25
【问题描述】:
在微服务的世界中,端点不应该(绝不能)被硬编码。最好的方法之一是拥有一个 DNS 并让每个微服务在启动时注册。每当微服务 A 想要与微服务 B 通信时,它都会这样做,它只会向 DNS 询问 B 当前正在侦听的端点。
我不明白的是:微服务如何知道 DNS 所在的位置?
基本上,DNS 只是一种“特殊”服务,我可以拥有一个或多个实例,对吗?所以我也不应该硬编码它的端点,还是应该?假设我这样做了——如果 DNS 实例移动到不同的位置怎么办?我必须在配置中手动更改它的位置吗?
有人碰巧知道如何设计这个吗? (或者任何人都可以将我指向任何解释这一点的文档,因为尽管有很多关于微服务和 dns 的信息,但我无法在任何地方找到这些特定信息 - 也许它太琐碎了,我是唯一一个不明白的人)
【问题讨论】:
标签: dns microservices service-discovery