使用dodcker swarm部署微服务是不是就不需要服务发现了?
最近才开始了解微服务和docker,问题可能比较幼稚或者错误,请大牛们不要见笑.
一个微服务启动后就会在注册中心注册自己的ip地址和端口,这样其他服务调用该服务时,只需要从注册中心获取该服务的ip和端口就可以了,不需要硬编码被调用服务的ip信息.
docker swarm 中,调用一个微服务时,可以在内置DNS和负载均衡的帮助下,通过一个服务名就可以找到对应的服务所在ip地址.
所以使用docker swarm部署微服务时,是不是可以不需要再使用其他的服务发现和注册的工具,就轻松实现了微服务的服务发现和注册.
以上是我对docker swarm部署微服务的个人理解,不知对不对?
还是我对微服务的服务发现和注册以及swarm部署微服务的一些概念和理解有错误?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
谢邀:
是的,完全可以,swarm内置服务发现和负载均衡,swarm内部包含DNS组件,可以自动为群集中的每个服务分配DNS。manager通过内部负载平衡来根据服务的DNS名称在群集内的服务之间分发请求。不过在保证高可用的情况下,大部分还是推荐使用etcd等自己做比较灵活高可用