Bootstrap

SpringCloud组件

趣加面试题:

微服务的组件有哪些?

1.Eureka:注册中心

让a服务知道b服务的地址

2.Feign:类似于bubbo

调用其他服务:
a服务里调用b服务接口,b服务的接口有@FeginClient,创建动态代理,根据@RequestMapping来动态构造出请求地址

3.Ribbon:负载均衡

多台机器部署b服务,如何知道调用哪个?
默认轮询

4.Zull:网关

前端调用后端统一走zull

5.Hystix:断路器

1.隔离:每一个线程池访问一个服务
2.降级:当某个压力过载时关闭服务
3.熔断:下游服务异常时上游不调用
情景:已知a服务调用b服务,b服务异常,此时a仍调用b,a也会因为请求堆积不可用造成服务雪崩,所以当b不可用造成压力过载,此时出发降级,打开断路器,并且打开休眠窗框口计时,此时a再调用会直接调到failback快速响应返回异常,等时间到了,断路器半开,a服务调用时尝试调用b服务,如果返回正常,断路器关闭,熔断恢复,如果依然异常,断路器打开,休眠时间窗口重新打开。

;