不要回避苦恼和困难,挺起身来向它挑战,进而克服它。——池田大作
1 如何做监控
- 延迟、请求量和错误数是三种最通用的监控指标
- Agent、埋点和日志是三种最常见的数据采集方式
- 报表展示(grafana等)
2 端到端APM监控搭建
应用性能管理(Application Performance Management,简称 APM),它的含义是:对应用各个层面做全方位的监测,期望及时发现可能存在的问题,并加以解决,从而提升系统的性能和可用性。大概思路:
- 客户端植入agent的sdk主动采集数据(json)上报到apm服务中心
- apm服务通过解析json数据写入到消息队列中供下游消费
- 下游消费队列数据写入es中做报表展示
3 全链路压力测试
- 线上压测 或者镜像相同的环境和流量与线上分离
- 压测流量打好标记,在代码中做改造
- mock第三方请求
- 压测时要实时监控各项指标,不要影响线上正常业务
4 数以万计的配置项管理
- etcd
- apollo
- zooKeeper
- disconf
5 熔断降级
- 分布式环境下最担心的是服务或者组件慢,因为这样会导致调用方持有的资源无法释放,最终拖垮整体服务。
- 服务熔断通过一个有限状态机来实现
- 开关降级的实现策略主要有返回降级数据、降频和异步三种方案。
6 上千万的流量做限流
- 固定窗口算法和滑动窗口
- 漏桶算法
- 令牌桶算法
7 关注公众号
微信公众号:堆栈future