我的问题与微服务和跨多个主机的服务发现相关。
设置如下:
- 2个Docker主机(主机A和主机B)
- Consul服务器(服务发现)
假设我有两个服务:
- 服务A
- 服务B
服务B部署了10次(使用随机端口):5次在主机A上,5次在主机B上。
当服务A与服务B通信时,例如,它向serviceB.example.com发送请求(硬编码)。
为了获得IP和端口,服务A应查询Consul服务器以获取SRV记录。
它将获得10个ip:port对,客户端应该应用一些负载平衡逻辑。
- 是否有更简单的方法处理这个问题,而不需要我开发客户端解析器(+LB)库?
- 是否已经在其他地方实现了类似的功能?
- 我做错了什么吗?