zoukankan      html  css  js  c++  java
  • 稳定性 监控 业务后期

    稳定性 监控 业务后期 - 架构师 雪崩

    本文是之前的思考. 最新思考见稳定性 问题定位 系统优化

    整体思路:

        1. 突增原因

                 底层某一个系统资源紧缺的原因肯定来自于上游业务请求量乘以耗时的增长. ( 如果是耗时,那原因是下游. 如果是流量,原因是上游 可以很方便的排除雪崩异常的报警,避免找不到方向..)

                 如果都没有,就有可能是内因. 1. 机器原因 2. 有种可能是有几个耗时语句的执行.(整体统计完,以后看一个耗时接口的各个具体耗时数据,介入分析原因)

                 有了ZipKin统计的各个数据, 就可以全局的分析耗时成员流量,已经各个依赖关系.

                 找到拓扑图最底层的那个耗时系统进行分析. 1. 请求量有无变,溯源到上游系统类似变化 2.耗时有无变 ,定位到具体某个请求是否耗时占比比较高,导致整体拔高 (瞬间耗时高,挤占连接数, 这个 占比区间要尽量小, 怎么样算异常, 要对应到连接数 比较少 . 业务方自己配置. ) 3. 都无,可能整体耗时都高.内部硬件,网络原因.

             学习 phoenix 的网络调优经验

            人工排查经验,复盘经验. 找因果

         1.  时间点很重要. 因果关系.   (回溯)

                 2. 根据各异常,分析上下游耗时,请求量激增.

         3. 业务核心主流前置接口,用户重试可瞬间累积到5-10倍. 加上各个流程的重试策略.雪崩时重试级联.耗时配置= E(下游耗时 * 重试次数) . (累加N个接口每个都耗时) 重试是为了可用性,但和稳定性抗压能力违背.全部默认两次.

           重试+降级是比较好的方案.按不同的业务系统降级.对外服务的系统,隔离性建设很重要.

            稳定性建设:

                 外因:

          1.做活动 2.催款 

                最终崩塌:

            雪崩. 一个慢 sql,导致所有 sql 耗时增加. 最终导致乘客重试. 导致系统重试 (rpc 重试,mq 重试) 原本保证可用性的都变成了最后一根稻草.

                内因:

                      1. 做好扩容准备

          2.做好无法扩容系统的reviw .

             2.1 非索引

           2.2 索引量查找行数比较大. (对于这些读,完全可以用读库扩容的方式实现) .

             2.2.1 自动化将99%慢查读引流到读库. 做到可扩容.

             2.3 返回的行数比较大的 sql

           2.4 redis 的 hashList等指令.

         案例: 28分 mq 耗时 31

        2. 常态整体就异常

             说明需要扩容了.

                

    1. 数据采集 (省钱和高效的决策依据)

      1. 操作层级

      2. 网络层级

      3. 业务层级

           dubbo. 连接池 看连接无用. 要监控活跃线程树. 原生是没有的.

           内部线程池. 活跃线程池数量. 最终提现到流量入口上.

            各个层级的 dubbo 请求数量. 快速定位 provider 耗尽的原因.

      4. 日志层级

           error 业务报警, info (不再稳定性层面,大并发,大流量. )

    2. 数据曲线展示 . 大盘自己配置 小米监控 不含 groupby 不如 cboard.

    3. 数据监控报警.

        依赖拓扑图和上面的理论算法.

  • 相关阅读:
    ngx-bootstrap使用04 carousel组件
    ngx-bootstrap使用03 Alerts组件、利用Object.assign复制对象
    ngx-bootstrap使用02 Accordion组件的使用
    ngx-bootstrap使用01 安装ngx-bootstrap和bootstrap及其使用、外部样式引入
    SpringBoot11 读取properties文件、发送邮件
    SpringBoot10 整合JSP
    SpringBoot09 自定义servlet、注册自定义的servlet、过滤器、监听器、拦截器、切面、webmvcconfigureradapter过时问题
    红帽系统制作yum本地源
    利用python数据分析panda学习笔记之基本功能
    利用python数据分析panda学习笔记之DataFrame
  • 原文地址:https://www.cnblogs.com/fei33423/p/7169590.html
Copyright © 2011-2022 走看看