快速发展的互联网业务往往存在一段“快,糙,猛”的阶段,业务的高速发展过程中大家的注意力都集中在了业务快速迭代,系统功能快速实现,而忽略了稳定性相关的问题。

这一阶段往往故障比较多,更麻烦的是由于监控系统缺失,很多异常难以第一时间发现,所以故障面可能会被放大。

监控系统

做好故障监控可以在两个角度去做:

  1. 业务系统层面:这一部分主要围绕业务逻辑实现,将一些核心路径信息上报上来

  2. 机器指标层面:这一部分主要围绕机器指标实现,比如内存,cpu,jvm,gc,线程,磁盘,io,网络等信息

通用的监控实现方式可以围绕这四个方面建设:

  1. 申请日志上报资源

  2. 业务逻辑中埋点日志,日志被每台机器的agent采集并异步上报到日志中心

  3. 对日志中心数据做统计处理

  4. 实现监控页面,将指标可视化

故障告警

在建立起了监控系统之后,可以围绕各种核心监控指标建立一套故障告警策略,周期性推送故障报告,让研发团队可以就自己系统过往的一些性能指标有个横行的了解。

在每次故障之后还建议团队做复盘,对故障的影响进行故障定级。研发同学输出一份故障报告,里面详尽记录故障发生的过程。

目的侧重于针对此类故障进行系统加固,避免再次发生,提高故障主动发现能力,缩短故障处理响应时间。

监控体系实现思路其实比较简单,可以提供一些简单通用的API,运行业务方进行侵入式代码开发,对某个监控项ID进行设置Value,或者累加Value的功能。

每台机器的Agent定时采集数据,将所有Id-Value上报到监控中心,监控中心对数据汇总入库后,通过统一监控页面输出可视化曲线,并通过配置的告警规则实现告警能力。

后期通过监控中心补全各项监控指标,降低业务方开发接入成本,帮助业务方及时发现问题,采用灰度策略考量监控指标是否适合此业务场景。

拆解交易系统--如何做好稳定性相关推荐

  1. 拆解交易系统--模块拆解与服务化

    用户高速发展阶段如何做好稳定性 围绕做好稳定性可以从几个角度做,而不是简单的监控,压测,告警和容量规划. 第一件事 :设计方案尽量简单 做好架构很重要的一个原则是,大系统做小,精简设计方案.在众多可能 ...

  2. 拆解交易系统--服务稳定性

    交易系统承担了整个交易链路上的所有交易相关的流量,同时交易系统上时常会组织一些营销,大促相关的活动,所以需要面对着因大促造成的瞬时流量激增的情况. 所以如何做好服务拆分后的交易系统稳定性也就尤为重要. ...

  3. 拆解交易系统--性能优化,安全加固与弹性扩缩容

    点击上方蓝色字体,选择"设为星标" 优质文章,及时送达 前几篇文章我们拆解了交易系统架构层次的设计方案,对于代码细节我们讨论很很少,今天基于几个方面简短的介绍一下,未来有时间可以针 ...

  4. 拆解交易系统--服务高可用

    系统稳定性和系统可用性是对在线系统很重要的两个评价指标,也是最重要的系统能力,系统可用性或者成熟度不足,将会造成重大的事故或者经济损失. 系统故障在研发团队一般的生命周期如下: 原则按照事前事中事后来 ...

  5. 拆解交易系统--异地多活

    点击上方蓝色字体,选择"设为星标" 优质文章,及时送达 很多产品发展到一定规模之后,可能会走出国门,技术架构要做到国际化.或者基于高可用 / 高性能的需求,需要做异地多活. 多数据 ...

  6. 百亿业务流量-如何做好稳定性监控

    NO.1 前言 监控 -- 安全生产的第一战线,报警的有效覆盖率.线上问题的发现能力以及如何快速定位问题是监控的核心能力. 安全生产整体目标1-5-10,1 分钟发现问题.5 分钟定位问题.10 分钟 ...

  7. 你应该知道的五种IO模型

    点击上方蓝色字体,选择"设为星标" 优质文章,及时送达 写在前面 linux操作系统包含了五种IO模型,各种上层编程语言或者网络编程框架的上层实现都是基于操作系统的这些IO实现来实 ...

  8. 面对系统的稳定性、我们如何做好系统稳定性建设?

    1.背景介绍 在移动互联网时代,用户群的积累比之前更容易,但同样,也会因为糟糕的用户体验,而快速流失用户,哪怕是号称独一无二的12306网站,也在不断优化系统来提升用户体验:而在后移动互联网的物联网时 ...

  9. 聊一聊,如何做好垂直域稳定性

    一个小小的故障就可能造成巨大的负面影响,因此稳定性工作复杂却又至关重要.本文将通过故障预防.修复.复盘来讲解该如何建设一个稳定性体系. 来到阿里后,我的工作内容一直都是商品中心的稳定性,这份工作对于我 ...

最新文章

  1. SQLServer On Linux Package List on CentOS
  2. ida动态调试apk(so层)
  3. 小白如何学习大神的小项目
  4. php移动代码,移动专区周级收录如何提交 复制这段php代码即可
  5. 过去的一年,哪些北大人坑死了北大?
  6. fragment中文网_Android使用Fragment打造万能页面切换框架
  7. django文件——django + jquery-file-upload上传篇(二)-- 插件实现文件上传+进度条显示 +拖入文件上传...
  8. Mathtype 免安装 | office自带UnicodeMath和LaTeX编辑功能
  9. 生活中的思维风暴——读《谁是谷歌想要的人才》精彩题目小记(二)
  10. 以太坊概念知识入门篇
  11. 项目难管理?先学会用好甘特图(内附操作方法及实用模板)
  12. 操作系统中高响应比优先调度算法例子
  13. linux删除文件子最后两行,关于linux:如何使用sed删除文件的最后n行
  14. 复现有道NLPCC-2018 CGEC:A Neural Machine Translation Approach to Chinese Grammatical Error Correction
  15. 网站服务器商标属于哪类,网络平台商标注册属于什么类别?-商标分类表-猪八戒知识产权...
  16. 友元介绍以及实例说明
  17. 关于『数据结构』:图论
  18. Android AsyncTask详解
  19. 如何学习android
  20. Win7防火墙允许ping

热门文章

  1. CF1398D Colored Rectangles (记忆化搜索DP)
  2. 【图论专题】单源最短路的综合应用
  3. 【每日DP】day 10、P1005 矩阵取数游戏【区间DP+高精(python)】难度⭐⭐⭐★
  4. 什么是java多线程_什么是java多线程,java多线程的基本原理?
  5. 鸿蒙系统比比安卓系统好么,鸿蒙系统与安卓系统的区别 鸿蒙系统与安卓系统哪个更好...
  6. pycharm新建django模板!DOCTYPE html划红线
  7. Linux日常运维--6
  8. 正在通过iTunes Store 进行鉴定
  9. Sicily 7974. Integer Lists 解题报告
  10. Maven多模块项目中应用maven-tomcat-plugin热部署