使用dodcker swarm部署微服务是不是就不需要服务发现了?

最近才开始了解微服务和docker,问题可能比较幼稚或者错误,请大牛们不要见笑.

一个微服务启动后就会在注册中心注册自己的ip地址和端口,这样其他服务调用该服务时,只需要从注册中心获取该服务的ip和端口就可以了,不需要硬编码被调用服务的ip信息.

docker swarm 中,调用一个微服务时,可以在内置DNS和负载均衡的帮助下,通过一个服务名就可以找到对应的服务所在ip地址.

所以使用docker swarm部署微服务时,是不是可以不需要再使用其他的服务发现和注册的工具,就轻松实现了微服务的服务发现和注册.

以上是我对docker swarm部署微服务的个人理解,不知对不对?

还是我对微服务的服务发现和注册以及swarm部署微服务的一些概念和理解有错误?


森栏
浏览 930回答 1
1回答

不负相思意

谢邀:是的,完全可以,swarm内置服务发现和负载均衡,swarm内部包含DNS组件,可以自动为群集中的每个服务分配DNS。manager通过内部负载平衡来根据服务的DNS名称在群集内的服务之间分发请求。不过在保证高可用的情况下,大部分还是推荐使用etcd等自己做比较灵活高可用
打开App,查看更多内容
随时随地看视频慕课网APP