- Consul 和 Eureka 都是用来解决服务发现(就是类似DNS服务)。 
 Eureka 在应用主类中通过加上@EnableDiscoveryClient,该注解能激活Eureka中的DiscoveryClient。(微服务中说加上@EnableEurekaClient也可以);
 Consul 是在应用启动类Application加上@EnableDiscoveryClient;
- Feign是通过到 Consul Server 或 EurekaServer 查找相关服务。Feign是用于微服务之间的调用

 ref : 微服务
- Zuul也是通过到 Consul Server 或 EurekaServer 查找相关服务。Zuul是用于外部的Request 提供网关。 
 Zuul 例子 ref : Spring Cloud微服务(3)之网关Zuul
有个问题:Zuul 和 Feign 要找到其他微服务,得通过 Consul 或 Eureka,那 Consul 或 Eureka 的地址是动态的话怎么办?
-  如果是通过docker部署微服务,那么就需要在docker-compose.yml中的 links 设置微服务与 Consul Server 或 EurekaServer 的关系,这样就会在主调微服务的容器的/etc/hosts文件里创建相应记录。比如customer-service,那么应该在docker-compose.yml:
customer-service: 
 links: 
 - consul-service:consul-service 
- 详情看下面。
- docker之间的依赖 
 ref : Docker之Compose服务编排
 docker-compose.yml参数:
 links:用于链接另一容器服务
 示例:
links: 
 - db 
 - db:mysql 
 - redis
-  使用了别名将自动会在容器的/etc/hosts文件里创建相应记录:
172.17.2.186 db 
 172.17.2.186 mysql 
 172.17.2.187 redis
-  所以我们在容器里就可以直接使用别名作为服务的主机名。 
 depends_on
 用于指定服务依赖,一般是mysql、redis等。
 指定了依赖,将会优先于服务创建并启动依赖。
 links也可以指定依赖。
                










