上QQ阅读APP看书,第一时间看更新
1.4.2 服务可用性
为了保证服务器正常运行,可对服务器进行监控,如探针、心跳检测等,而这些仅仅是针对服务器的运行数据和日志分析。为了提高服务器服务的可用性,可进一步实施服务器负载均衡、主从切换、故障转移等。
探针监控是定时去请求访问服务器,需要通过请求回应来收集服务器状态。定时需设置在合理范围值内,太短会给服务器带来压力,太长会导致不能及时收集报错信息而错过最佳时机。基于以上情况,可以采用服务器集群化的方式,根据系统场景,设置合理探针请求频率,当发现异常时及时剔除替换。
【示例】 电商系统
电商系统分为(用户、商品、订单)模块,当用户模块中用户数量逐渐增多时,由于用户模块依赖商品、订单模块,潜移默化会给它们带来高额压力,所以需要监控并跟踪模块之间调用链路的状况,以及时发现并优化调用过程产生的问题,提供系统模块调用直观图,如图1-6所示。
图1-6 电商多模块调用直观结构图
图1-6体现了整个系统的调用链条,包括服务、数据、交互方式、请求频率以及错误率统计,其中,实线条代表运行正常,虚线条表示存在调用缓慢、异常等相关问题。通过上图可以看到应用内部调用服务存在缓慢处理的情况,同时通过数值可以直观看到服务较慢的数量,这些数值可以协助反馈目前系统的运行状态。通过反馈的问题点可以提前预知系统服务的瓶颈,从而优化处理。
系统运行健康变化趋势可以直观体现系统的吞吐量,如图1-7所示。
图1-7 电商多模块调用线性趋势图
从图1-7中可以看出,系统稳定运行占比高达84%,较慢的请求占用15%,这里的较慢指请求过程中由于其他原因导致的运行缓慢,如网络异常、超时等。重点需关注很慢、停滞的请求,这部分请求可反馈出系统应用层面的问题,需要进行特定优化。