【发布时间】:2018-04-06 02:44:58
【问题描述】:
上周我一直在努力寻找如何正确实现这一目标的好例子,但互联网似乎没有任何东西......
我想说的是一个非常基本的 Spring Cloud 服务。它包括 Eureka、Zuul、Spring Config 和一些服务。
我已经使用esc-cli 研究了如何根据我的docker-compose.yml 文件轻松创建新任务。所以我有两个任务
一项管理任务,其中包含现阶段不需要扩展的基本内容,并且拥有它们的一个实例对于这个项目来说就很好了。
version: '2'
services:
mongo:
image: mongo
cpu_shares: 300
mem_limit: 268435456
ports:
- 27017:27017
config-service:
image: config-service
cpu_shares: 300
mem_limit: 268435456
ports:
- 8888:8888
environment:
- SPRING_PROFILES_ACTIVE=cloud
edge-service:
image: edge-service
cpu_shares: 300
mem_limit: 268435456
ports:
- 80:8080
environment:
- SPRING_PROFILES_ACTIVE=cloud
我的第二个任务有上述任务的客户。
version: '2'
services:
instance-service:
image: instance-service
cpu_shares: 300
mem_limit: 268435456
ports:
- 8081:8081
environment:
- SPRING_PROFILES_ACTIVE=cloud
restore-service:
image: restore-service:latest
cpu_shares: 300
mem_limit: 268435456
ports:
- 8082:8082
environment:
- SPRING_PROFILES_ACTIVE=cloud
我可以使用ecs-cli compose --file management-task.yml --project-name management-task up 这样的简单命令轻松创建这些任务,那里没问题。
在我遇到问题的地方,没有任何东西可以到达 Eureka 或 Config 服务,所以它们都死了。我已经阅读了所有可以使用应用程序负载平衡来允许容器相互通信的地方,但是我实际上找不到任何关于如何做到这一点的信息。 p>
我设法找到的最接近的是http://www.rahulkatte.com/index.html#!/microservice-part-V 的博客文章,但是他们没有利用 Eureka 在任务中,也没有在配置服务器中使用。
那么,有没有关于如何将现代 Spring Cloud 应用程序部署到 AWS 的全面示例?或者是否有人对如何让我的任务/容器相互通信有任何指示,而不仅仅是说“使用负载平衡器......”?
感谢您的宝贵时间。
【问题讨论】:
标签: java amazon-web-services amazon-ec2 spring-cloud