高并发系统设计40问
唐扬
美图公司技术专家
立即订阅
9279 人已学习
课程目录
已更新 41 讲 / 共 45 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么你要学习高并发系统设计?
免费
基础篇 (6讲)
01 | 高并发系统:它的通用设计方法是什么?
02 | 架构分层:我们为什么一定要这么做?
免费
03 | 系统设计目标(一):如何提升系统性能?
04 | 系统设计目标(二):系统怎样做到高可用?
05 | 系统设计目标(三):如何让系统易于扩展?
06 | 面试现场第一期:当问到组件实现原理时,面试官是在刁难你吗?
演进篇 · 数据库篇 (5讲)
07 | 池化技术:如何减少频繁创建数据库连接的性能损耗?
08 | 数据库优化方案(一):查询请求增加时,如何做主从分离?
09 | 数据库优化方案(二):写入数据量增加时,如何实现分库分表?
10 | 发号器:如何保证分库分表后ID的全局唯一性?
11 | NoSQL:在高并发场景下,数据库和NoSQL如何做到互补?
演进篇 · 缓存篇 (6讲)
12 | 缓存:数据库成为瓶颈后,动态数据的查询要如何加速?
13 | 缓存的使用姿势(一):如何选择缓存的读写策略?
14 | 缓存的使用姿势(二):缓存如何做到高可用?
15 | 缓存的使用姿势(三):缓存穿透了怎么办?
16 | CDN:静态资源如何加速?
加餐 | 数据的迁移应该如何做?
演进篇 · 消息队列篇 (6讲)
17 | 消息队列:秒杀时如何处理每秒上万次的下单请求?
18 | 消息投递:如何保证消息仅仅被消费一次?
19 | 消息队列:如何降低消息队列系统中消息的延迟?
20 | 面试现场第二期:当问到项目经历时,面试官究竟想要了解什么?
用户故事 | 从“心”出发,我还有无数个可能
期中测试 | 10道高并发系统设计题目自测
演进篇 · 分布式服务篇 (9讲)
21 | 系统架构:每秒1万次请求的系统要做服务化拆分吗?
22 | 微服务架构:微服务化后系统架构要如何改造?
23 | RPC框架:10万QPS下如何实现毫秒级的服务调用?
24 | 注册中心:分布式系统如何寻址?
25 | 分布式Trace:横跨几十个分布式组件的慢请求要如何排查?
26 | 负载均衡:怎样提升系统的横向扩展能力?
27 | API网关:系统的门面要如何做呢?
28 | 多机房部署:跨地域的分布式系统如何做?
29 | Service Mesh:如何屏蔽服务化系统的服务治理细节?
演进篇 · 维护篇 (7讲)
30 | 给系统加上眼睛:服务端监控要怎么做?
31 | 应用性能管理:用户的使用体验应该如何监控?
32 | 压力测试:怎样设计全链路压力测试平台?
33 | 配置管理:成千上万的配置项要如何管理?
34 | 降级熔断:如何屏蔽非核心系统故障的影响?
35 | 流量控制:高并发系统中我们如何操纵流量?
36 | 面试现场第三期:你要如何准备一场技术面试呢?
实战篇 (1讲)
37 | 计数系统设计(一):面对海量数据的计数器要如何做?
高并发系统设计40问
登录|注册

30 | 给系统加上眼睛:服务端监控要怎么做?

唐扬 2019-12-02
你好,我是唐扬。
在一个项目的生命周期里,运行维护占据着很大的比重,在重要性上,它几乎与项目研发并驾齐驱。而在系统运维过程中,能够及时地发现问题并解决问题,是每一个团队的本职工作。所以,你的垂直电商系统在搭建之初,运维团队肯定完成了对于机器 CPU、内存、磁盘、网络等基础监控,期望能在出现问题时,及时地发现并且处理。你本以为万事大吉,却没想到系统在运行过程中,频频得到用户的投诉,原因是:
使用的数据库主从延迟变长,导致业务功能上出现了问题;
接口的响应时间变长,用户反馈商品页面出现空白页;
系统中出现大量错误,影响了用户的正常使用。
这些问题,你本应该及时发现并处理的,但现实是,你只能被动地收到用户的反馈后,手忙脚乱地修复。这时你的团队才意识到,要想快速地发现和定位业务系统中出现的问题,必须搭建一套完善的服务端监控体系。正所谓“道路千万条,监控第一条,监控不到位,领导两行泪”。不过在搭建的过程中,你的团队又陷入了困境:
首先,监控的指标要如何选择呢?
采集这些指标可以有哪些方法和途径呢?
指标采集到之后又要如何处理和展示呢?
这些问题一环扣一环,关乎着系统的稳定性和可用性,而本节课,我就带你解决这些问题,搭建一套服务端监控体系。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《高并发系统设计40问》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(11)

  • 吃饭饭
    监控手段还是不少的,Grafana ,Skywalking,Prometheus 等, 另外还可以结合Nginx、 Flume 、Kafka 、ELK 等日志收集做自己的系统分析
    2019-12-02
    4
  • 飞翔
    系统硬件指标用zabbix监控,接口响应,慢sql等我们是通过cat监控的
    2019-12-02
    2
  • 刺猬
    这里只提到了软件监控,硬件一般有什么好的监控方式

    作者回复: open falcon

    2019-12-02
    1
  • 无形
    我们之前自己做的监控主要有两方面的,一个是关键接口nginx日志,主要是状态码,运维收集之后扔到kafka,我们从kafka消费,聚合之后扔到influxdb,后来influxdb内存大,又太慢,又换成了clickhouse,还有一部分是应用层的错误日志,按照一定的频次控制,报警到钉钉群里处理
    2019-12-02
    1
  • longslee
    打卡。老师,请教下,在启动 Java 程序的时候,是不是应该养成暴露 jmx 的习惯呢

    作者回复: 一般如果做中间件的话,是需要的

    2019-12-10
  • 张德
    这个客户端监控就算是BAT其实做的也不是很好 以前有一阶段 手机淘宝某个版本的商品页的收藏小星星 无论如何都不能加入收藏夹。。。
    2019-12-05
  • 小可
    近一年一直在做运维监控系统的工作,从脚本+自研agent到zabbix + logstash,监控服务端消息队列+聚合计算程序。虽然满足需求,但节点多,指标多时,zabbix对应的数据库负载过高,logstash也太重太吃节点性能,当时选型时太就感觉都太重了,但上层定的没办法。现在已经不做这块了,听说又要换方案😂

    作者回复: 选型方案是可以慢慢演进的~

    2019-12-03
  • 阿卡牛
    有通用开源的agent推荐吗?还是建议每种组件都有自己弄个agent?

    作者回复: falcon有很多agent的

    2019-12-02
    1
  • PatHoo
    CNCF Prometheus

    作者回复: 云原生时代的监控系统组件

    2019-12-02
  • 白马度和
    请问agent是一个中间件件还是?

    作者回复: 是一个开源或者自研的程序

    2019-12-02
  • 怎么没提到Skywalking
    2019-12-02
收起评论
11
返回
顶部