服务备选方案:熔断、降级、限流
基本介绍在微服务架构中由于服务之间的相互依赖性任何一个服务的故障或性能问题都可能导致整个系统的不稳定因此熔断、降级和限流是三种常见的技术手段用于提高系统的可用性和稳定性熔断Circuit Breaker熔断机制的设计灵感来源于电路中的熔断器用于防止过载或故障扩散保护系统不受进一步的影响。当一个微服务出现问题如果相应时间过长或失败率过高时熔断器会自动“断开”组织对该服务的进一步访问。熔断器断开后后续的请求会直接失败而不是继续调用下游的服务。进过预定的时间后熔断器会自动进入“半开”状态尝试允许部分请求通过并监控请求的成功率如果请求成功率恢复到一定程度熔断器会完全“闭合”恢复服务调用。降级Fallback降级策略是当下游服务因过载或故障导致无法正常运行相应时上游服务可以自动降低服务质量以保证核心服务的可用性。降级操作可以包括返回一个默认值、调用备用服务、限制某些功能的使用等。降级的目的是有限保证系统的整体可用性和稳定性哪怕是以牺牲部分服务质量或功能为代价。限流Rate Limiting限流是控制访问评率和并发量的一种手段目的是访问服务因过度使用而过载。限流可以应用于API接口、服务调用、数据流等多个层面。常见的限流策略包括令牌桶Token Bucket、漏桶Leaky Bucket等算法。通过喜爱内置请求的速率可以确保服务在安全的负载范围内运行即使流量高峰期也能保证系统的稳定运行。总结熔断自动检测服务故障暂时切断服务调用防止故障扩散类似于电路中的熔断器。降级在服务出现问题时主动减低服务质量如默认响应保证核心服务的可用性。限流控制访问频率和并发量防止服务因过度使用而过载确保服务的稳定性。这些技术手段通常在微服务架构中是相辅相成的通过合理的设计和实现可以显著提高分布式系统的弹性和稳定性。参考博文https://blog.csdn.net/weixin_43844521/article/details/136148854