Metrics Driven Development
目录
前言
为什么要修订
AI 时代的三大护法
本书主线
修订要点
读者对象
第 1 章 微服务入门
1.1 单体服务的特点
服务是什么?
1.2 拆分微服务
1.2.1 分而治之以降低复杂性
1.2.2 分而用之以提高可重用性
1.2.3 分而做之以提高开发效率
1.3 微服务的特点
1.3.1 微服务架构的特点
1.3.2 微服务架构的特征
1.3.3 微服务架构的风格
1.3.4 微服务的分类
1.3.5 多小的服务才是微服务
1.4 微服务之道
1.4.1 软件之道
1.4.2 敏捷之道
1.4.3 微服务的思考
1.5 土豆微服务案例
1.5.1 系统架构
1.5.2 快速启动
1.6 本章小结
第 2 章 微服务度量基本概念
2.1 微服务的局限
2.1.1 局限
2.1.2 解决方案
2.2 度量的重要性
2.3 度量内容
2.3.1 按度量的目标划分
2.3.2 按度量的层次划分
2.4 度量指标与术语
2.4.1 统计学指标
2.4.2 度量类型
2.4.3 度量处理相关术语
2.5 度量策略选择
2.5.1 如何做度量
2.5.2 如何选择度量方案
2.6 本章小结
第 3 章 微服务度量设计
3.1 微服务协议的选择与度量
3.1.1 协议概述
3.1.2 协议分析
3.2 HTTP 协议及其度量
3.2.1 HTTP 协议简介
3.2.2 REST API 度量要点
3.3 SIP 协议及其度量
3.3.1 SIP 协议简介
3.3.2 SIP 度量要点
3.4 RTP 协议及其度量
3.4.1 RTP 协议简介
3.4.2 RTP 度量要点
3.5 基于度量的存储系统选型
3.6 基于度量实现高可用性
3.6.1 可用性度量
3.6.2 SLI/SLO/SLA
3.6.3 容错模式
3.7 土豆微服务度量设计
3.8 本章小结
第 4 章 度量驱动的多语言实现
4.1 度量代码质量
4.1.1 静态分析指标
4.1.2 各语言的代码质量工具
4.2 度量进度
4.2.1 DORA 指标
4.3 度量性能
4.3.1 性能度量金三角
4.3.2 多语言性能测试
4.4 多语言度量实现
4.4.1 Go 度量实现
4.4.2 Python 度量实现
4.4.3 C++ 度量实现
4.4.4 Java 度量实现
4.5 OpenTelemetry: 统一的度量标准
4.6 AI 辅助编程中的度量实践
4.6.1 正确的 AI Prompt 模式
4.6.2 度量设计先于代码实现
4.6.3 AI 生成代码的度量检查清单
4.7 本章小结
第 5 章 度量数据的聚合与展示
5.1 度量数据的聚合和存储
5.1.1 聚合方式
5.1.2 时序数据库
5.1.3 数据保留策略
5.2 度量数据的清洗和处理
5.2.1 数据清洗
5.2.2 数据处理
5.3 度量数据的可视化
5.3.1 常用图表类型
5.3.2 仪表盘设计原则
5.4 常用度量聚合与展示方案
5.4.1 TIG 技术栈
5.4.2 ELKK 技术栈
5.4.3 Prometheus 技术栈
5.4.4 OpenTelemetry (新增)
5.5 土豆微服务的度量聚合与展示
5.6 本章小结
第 6 章 度量数据的分析与报警
6.1 度量数据的分析
6.1.1 分析方法
6.1.2 USE 方法
6.1.3 RED 方法
6.1.4 黄金信号 (Golden Signals)
6.2 报警实现
6.2.1 报警策略
6.2.2 报警规则
6.2.3 报警通知渠道
6.2.4 报警抑制与聚合
6.3 多语言报警实现
6.3.1 Go: 自定义健康检查与告警
6.3.2 Python: 基于 Elasticsearch 的报警
6.3.3 C++: 嵌入式系统的度量报警
6.3.2 APDEX 应用性能指数
6.4 本章小结
第 7 章 度量驱动的运维
7.1 部署升级
7.1.1 部署策略
7.1.2 金丝雀发布的度量
7.1.3 CI/CD 流水线度量
7.2 数据运维
7.2.1 数据库运维度量
7.2.2 缓存运维度量
7.3 配置调整
7.3.1 JVM 调优
7.3.2 线程池调优
7.3.3 连接池调优
7.4 开源组件的度量
7.4.1 Kafka 度量
7.4.2 Nginx 度量
7.5 Kubernetes 环境下的运维度量 (新增)
7.5.1 Pod 级别度量
7.5.2 集群级别度量
7.5.3 HPA 自动伸缩
7.6 eBPF: 无侵入式度量采集 (新增)
7.7 GitOps 与度量驱动部署 (新增)
7.8 本章小结
第 8 章 AI 时代的全程度量驱动
8.1 AI 辅助编程的悖论
8.1.1 速度与质量的矛盾
8.1.2 三大护法
8.2 MDD: AI 时代的可观测性护法
8.2.1 为什么 MDD 在 AI 时代更重要
8.2.2 让 AI Build in MDD
8.3 完整的 AI 辅助开发流程
8.3.1 实战示例: 消息推送服务
8.4 可观测性三支柱
8.4.1 Metrics + Logs + Traces
8.4.2 OpenTelemetry: 统一框架
8.4.3 结构化日志
8.5 客户端度量
8.5.1 Web 前端: Core Web Vitals
8.5.2 移动端度量
8.6 AIOps: AI 驱动的智能运维
8.6.1 从规则告警到智能告警
8.6.2 大数据与度量
8.7 度量驱动开发的回顾与展望
8.7.1 MDD 方法论全景图
8.7.2 未来趋势
8.7.3 一句话总结
8.8 实战检查清单
8.9 本章小结
附录 常用度量工具与软件库
A.1 开源软件
A.1.1 数据采集
A.1.2 数据存储
A.1.3 数据处理
A.1.4 数据展示
A.1.5 监控告警
A.1.6 分布式追踪
A.1.7 其他工具
A.2 商业软件
A.3 度量类库
术语表
Metrics Driven Development
搜索
请启用 JavaScript 以便使用搜索功能