[编者的话]本文对比了Zookeeper.etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考. 如果使用预定义的端口,服务越多,发生冲突的可能性越大,毕竟,不可能有两个服务监听同一个端口.管理一个拥挤的比方说被几百个服务所使用的所有端口的列表,本身就是一个挑战,添加到该列表后,这些服务需要的数据库和数量会日益增多.因此我们应该部署无需指定端口的服务,并且让Docker为我们分配一个随机的端口.唯一的问题是我们需要发现端口号,并且让别人知道. 当我们开始在一个分布式系统…