- 防止雪崩
当一个服务无法承受大请求压力的时候,是否会影响所依赖的其他服务?这时候可以考虑限流等措施。
- 功能降级
当某个服务出现故障时,是否有容错手段能够让业务继续跑下去,而不影响整体应用。
- 冥等
当用户多次下同一订单时,得到的结果永远同一个。
- 缓存
当请求量较大时,为避免对数据库造成较大压力,可以适当将一些变化较小,读取量较大的数据放入缓存。
- 超时
超时时间对于调用服务来说非常重要,超时时间设置太长可能会把整体系统拖慢,而设置短了又会造成调用服务未完成而返回,我们在实际工作中需要根据业务场景进行分析,选择一个恰当的超时设定值。
- 熔断
使用熔断器(断路器),当请求下游的服务时发生了一定数量的失败后,熔断器打开,接下来的请求快速返回失败。过一段时间后再来查看下游服务是否已恢复正常,重置熔断器。
- 服务隔离
当所调用的服务发生故障的时候,上游服务能够隔离故障确保业务能够继续运行下去
- 可伸缩
当并发量较大,原有服务集群无法满足现有业务场景时,可以采用扩容策略,而当并发量较小时,服务集群可以采用缩容策略,以节省资源。
扫描二维码关注公众号,回复:
10607450 查看本文章