微服务篇
- 常见面试内容
- Spring Cloud 常见组件
- 注册中心
- Ribbon负载均衡策略
- 服务雪崩
常见面试内容
Spring Cloud 常见组件
Spring Cloud有5个常见组件:
- Eureka/Nacos:注册中心;
- Ribbon:负载均衡;
- Feign:远程调用;
- Hystrix/Sentinel:服务熔断;
- Zuul/Gateway:网关;
注册中心
Nacos注册中心的基本工作流程:(默认是临时实例)
Ribbon负载均衡策略
Riboon负载均衡策略有以下几种:
- RoundRobinRule:简单轮询服务列表来选择服务器;
- WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小;
- RandomRule:随机选择一个可用的服务器;
- BestAvailableRule:忽略那些短路的服务器,并选择并发数较低的服务器;
- RetryRule:重试机制的选择逻辑;
- AvailabilityFilteringRule:可用性敏感策略,先过滤非健康的,再选择连接数较小的实例;
- ZoneAvoidanceRule:以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询;
定义负载均衡的方法有:
服务雪崩
服务雪崩指的是一个服务失败,导致整条链路的服务都失败的情形;
解决方法有: