作者回复: 你好,Ribbon是负责软负载的组件,Hystrix则是服务熔断限流的组件,两者可以独立工作,也可以一起工作,两者整合的例子可以参考Spring Cloud Zuul文档,可以同时启用Ribbon + Hystrix。
作者回复: netflix也是AMI镜像部署,如果要布署到不同环境带不同参数,那么最好做在发布系统里,发布系统知道要发哪个zone,在向不同zone发服务实例时,起动镜把zone作为环境变量传入
作者回复: svc是服务名,在spring cloud中一般就是应用名,具体可参考spring cloud文档。
作者回复: 我认为多机房情况下,每个机房都要布一个eureka小集群(至少三个节点),保证每个机房高可用,然后多个机房的eureka再组成一个跨机房大集群,让所有机房服务实例,对每个机房的eureka都可见。eureka跨数据中心,是为了保证当某机房服务不可用时,client(例如通过ribbon)可以去访问其它机房的相同服务。在eureka跨机房配置下,每个机房的eureka有一个域名(躲在负载均衡后面),每个机房的client通过配本机房eureka域名访问eureka。当然通过一些技术,可以统一eureka域名,负载均衡设备会保证本机房的client只访问本机房eureka。跨机房场景下ribbon的配置,耍启用跨机房HA,可参ribbon文档。