我开始使用码头化微服务。从本地开发到码头化微服务
其中有几个正在运行(请参阅下面的代码段)。在我的本地测试设置中,每个服务都在localhost:somePort
。例如。前端会尝试连接到后端API localhost:backend1
。 现在在容器化的世界里,这不再起作用。我应该运行一个完整的服务发现解决方案,如consul
或etcd
?还是应该尝试使用docker的命名服务从前端访问后端? https://docs.docker.com/compose/networking/
version: '2'
services:
service1-backend:
image: service1:0.0.1
links:
- service1-frontend
service1-frontend:
image: service1-frontend:0.0.1
links:
- service2-frontend
ports:
- "8080:80"
service2-backend:
image: service2-backend:0.0.1
links:
- service1-backend
- service2-frontend
- service3
service2-frontend:
image: service2-frontend:0.0.1
ports:
- "8081:80"
service3:
image: service3:0.0.1
你确定你没有太多的服务吗? –
对于这个问题,只有'service1-backend'和'service1-frontend'是相关的。但会有更多。 –