[Java复习] Spring Cloud - Netflix
Spring Cloud Netflix常用组件 服务注册与发现:Eureka 服务负载均衡: Ribbon 服务声明式客户端: Feign 服务熔断:Hystrix 服务网关 : Zuul Eureka: Eureka分客户端client和服务端server。各微服务为client,将自己的信息注册到server。 微服务启动后(默认每隔30秒),client做2件事:1. 拉取最新注册服务信息。2. 向server发送心跳,告诉server自己没有挂。 如果server在一定时间(默认90秒)内没有收到某个微服务节点的心跳,server将会注销该微服务节点。 每个Eureka Server同时也是Eureka Client,多个Eureka Server之间通过复制的方式完成服务注册表的同步。 server存储客户端端口号,IP地址等。 Q:作为服务中心Eureka比ZooKeeper好在哪里? 参考《阿里巴巴为什么不用 ZooKeeper 做服务发现?》 在分布式的CAP理论中,ZK保证CP, Eureka保证AP。向服务中心查询服务时,可以容忍返回的时几分钟之前的注册信息,但不能接收服务挂掉不可用。 ZK多机房会出现网络孤岛,导致本机房的服务B不能新部署,重启,扩容或缩容。本机房的服务A则不能调用服务B。破坏服务之间本身的可连通性,违反注册中心的原则!