面试题答案
一键面试- 熔断机制:
- 基本原理:当某个微服务的失败率或错误率达到一定阈值时,熔断器会跳闸,后续请求不再直接调用该微服务,而是快速返回一个预设的响应,避免长时间等待和大量无效请求。一段时间后,熔断器会尝试半开状态,允许少量请求通过,若请求成功,熔断器恢复正常关闭状态;若仍失败,则继续保持跳闸状态。
- 应用场景:适用于依赖的微服务不稳定,可能出现大量超时、错误的场景,如第三方接口调用。避免因依赖服务故障导致自身服务雪崩。
- 降级机制:
- 基本原理:主动关闭一些非核心功能或服务,释放系统资源,优先保障核心业务的可用性。通过预先定义好的降级策略,在系统出现故障或压力过大时执行。
- 应用场景:高并发场景下,当系统资源紧张,为保证核心交易等功能正常运行,可对一些如用户个性化推荐等非核心功能进行降级。
- 重试机制:
- 基本原理:当请求微服务失败时,在一定条件下(如失败原因是网络瞬时故障等),自动重新发起请求,尝试多次直到成功或达到最大重试次数。每次重试可设置一定的时间间隔。
- 应用场景:适用于因临时性网络波动、服务短暂过载等原因导致的偶发性故障。例如数据库连接偶尔超时,通过重试可能成功建立连接。
- 限流机制:
- 基本原理:限制单位时间内对微服务的请求数量,防止因请求过多导致服务过载。常见的限流算法有令牌桶算法、漏桶算法等。令牌桶算法以固定速率生成令牌放入桶中,请求来时从桶中获取令牌,无令牌则拒绝请求;漏桶算法则按固定速率流出请求,多余请求在桶中等待或直接丢弃。
- 应用场景:防止恶意请求或突发流量打垮微服务,如对频繁查询用户信息接口进行限流,保障系统整体稳定运行。