
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
高可用性是大多数软件开发程序员在开发软件的时候都需要满足的一个编程开发需求,而本文我们就通过案例分析来简单了解一下,软件开发降级策略保证整体可用性。
1.降级的定义
因流量或服务器压力剧增,可能引发服务宕机或级联性崩溃。在有限资源的情况下,服务端不得不按优先级区分处理业务,即优先保证核心业务的正常运行,而对非核心业务用做简单折中处理,如快速失败,或返回缓存数据等等,避免占用更多资源,称之为服务降级。降级的目的是在服务自身性能达到瓶颈,或网络硬件应用等依赖的资源出现异常时,尽可能保证核心业务正常运行,进一步保证系统整体的可用性和稳定性。
2.降级的特点
降级是服务的自我保护机制,为了整体不被拉跨,放弃部分服务的可用性,丢车保帅。
因非核心任务被降级处理,从用户角度来看,现象就是可能服务变的不可访问,或者数据过期,因此一定上程度降低了用户体验。
3.常用策略
限流(拒绝,缓存),熔断(快速失败,缓存)
限流:从一定程度上来说,大流量是增加服务器压力的万恶之源,短时间内的高并发,服务器会启用大量线程池,CPU切换压力增大,如果线程池达到上限,更多请求会阻塞在内存空间,各服务接口都会受影响。如果同步访问数据库,或远程服务,磁盘读写性能和网络延迟会成为性能瓶颈,影响TPS,加上高并发请求,服务器容易宕机。
熔断
降级开关
4.选取策略
资源卡片的内容和服务大多由内容服务团队提供,所以我们需要实时监测这些服务,避免由于某个服务的问题导致整体服务出现问题。
设置熔断开关,如调用服务可用性低于设定阈值,直接熔断断开调用,直至后续多时间片监测确认服务恢复。
制定性能分发权重,可用性较差、平均响应时长较长的服务降低其分发权重。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。