Docker和Concur的微服务发现
我对构建微服务很感兴趣,但当我拥有单个微服务的多个实例时,我对服务发现应该如何工作有点困惑 假设我有一个“OCR”应用程序,可以从图像中读取文本。 将其部署为1个实例很容易,但是,如果我想要50个这样的实例呢 我可以运行docker swarm来加速获取这50个实例,但我如何向其中任何一个发送请求,也就是说,我不想知道特定实例的确切容器名称,我不在乎得到哪一个,只要它是健康的,只需将我的请求发送到任何“OCR”容器即可 我如何做到这一点 我一直在调查领事,看起来很有希望。 我特别喜欢HTTP api(尽管我有点不确定如何检索我感兴趣的服务的url。是否需要在每次请求之前进行检索,以确保我指向的是一个健康的实例?) 如果我想使用Concur,与docker swarm相关的步骤是什么?当容器启动时,我是否只需要在Consor中注册服务,如果失败,它将自动取消注册?) 之后,我所有的容器只需要知道consor在哪里(我想我可以在它前面放一个负载平衡器,以防我想将consor本身扩展到一堆实例?) 如果我完全走错了方向,请告诉我 如果有人能推荐关于这个话题的文章或书籍,我将不胜感激Docker和Concur的微服务发现,docker,microservices,consul,Docker,Microservices,Consul,我对构建微服务很感兴趣,但当我拥有单个微服务的多个实例时,我对服务发现应该如何工作有点困惑 假设我有一个“OCR”应用程序,可以从图像中读取文本。 将其部署为1个实例很容易,但是,如果我想要50个这样的实例呢 我可以运行docker swarm来加速获取这50个实例,但我如何向其中任何一个发送请求,也就是说,我不想知道特定实例的确切容器名称,我不在乎得到哪一个,只要它是健康的,只需将我的请求发送到任何“OCR”容器即可 我如何做到这一点 我一直在调查领事,看起来很有希望。 我特别喜欢HTTP a
谢谢。当您使用Docker Swarm模式时,您可以免费获得负载平衡服务发现。
DNSRR是一个关键概念: 假设您部署了
OCR应用程序
docker服务创建--网络开发--命名ORC应用--副本5 OCR应用:最新版本
docker manager将在swarm网络的节点上部署五次OCR应用程序。属于同一docker网络的所有其他服务dev
都可以通过其名称请求OCR应用程序。例如,GEThttp://OCR-app:4000/do/something
docker swarm内部使用循环机制将请求自动转发到五个服务之一