高可靠系统构建指南:服务稳定性建设与技术债务治理
  • 推荐0
  • 收藏0
  • 浏览32

高可靠系统构建指南:服务稳定性建设与技术债务治理

  • 丛  书:
  • 书  号:中国
  • 出版日期:2025-05-01
  • 页  数:292
  • 开  本:16(170*240)
  • 出版状态:图书立项
  • 维护人:张国霞
本书以服务稳定性建设与技术债务治理为主线,深度剖析 Java 服务全生命周期中的关键问题与解决方案,通过“问题诊断-治理框架-实践落地”的三层递进结构,构建了覆盖技术架构、资金安全、组织效能的完整技术治理体系。
本书总计7章。第1~2章从Java服务的常见线上问题切入,系统讲解针对内存泄漏、线程死锁、MySQL慢查询等疑难问题的5why原因分析法与根治方案,并且基于JVM内存模型与线程的原理,建立预防性优化机制,其中还讲解了“稳定性治理三维模型”(意识培养-能力建设-系统保障),并结合Prometheus监控体系,打造了从被动“救火”到主动防御的高可靠工程体系。第3~5章构建了资金安全防护的“双闭环”机制,即在业务侧通过三流合一、平衡性约束等金融级设计来确保业务逻辑正确,在技术侧通过分布式事务、幂等设计等技术方案来确保数据一致,通过业业、业会、会会、账实核对来实现资损的分钟级发现,并且聚焦领域驱动设计,通过会员系统建模实战来演示技术债务的治理路径,讲解了彩色建模、事件风暴等五大领域建模方法工具箱。第6~7章解构高并发供应链系统架构,涵盖分库分表、熔断降级等分布式架构的核心模式,特别给出补偿事务、事务消息等一致性方案的选型决策树,还整合大模型技术,详解LangChain等开发框架与AI编程助手的应用,构建了从Prompt工程到知识库设计的大模型应用程序开发范式。
无论是新手还是经验丰富的工程师,都能从本书中获得宝贵的知识和经验,提高自己解决问题的能力,构建更加稳定和高效的系统服务。
从实战出发,攻克系统稳定性与技术债务难题,直击交易痛点,涵盖资金安全设计等亮点,融合SRE理念,解构分布式架构,为工程师呈上高可用系统架构构建全书。
杨 彪
现任某互联网大厂高级架构师,阿里巴巴前技术专家,创业公司技术总监及合伙人。深耕互联网、游戏、金融领域15年,负责过有亿级流量的互联网C端项目、有千万名日活用户的SaaS产品及多款月流水千万元以上的游戏研发项目。曾参与编写图书《分布式服务架构》和《可伸缩服务架构》等。

——李海亮
毕业于北京大学,现任某互联网公司资深搜索技术专家,有15年互联网公司搜索相关的研发工作经验。曾参与编写图书《可伸缩服务架构》。

——王 波
拥有多家一线互联网公司的工作经验,曾在京东和阿里巴巴担任架构师及技术专家,某创业公司技术合伙人。热衷于研究互联网底层技术,在电商、供应链、客户关系管理(CRM)及财务等领域积累了丰富的架构设计经验。

目录

第1章 Java服务常见线上问题应急攻关 1
1.1 为什么程序员天天都在“救火” 1
1.2 Java内存案例分析 2
1.2.1 案例介绍 2
1.2.2 5why原因分析 2
1.2.3 类似问题的解决办法 9
1.3 JVM内存模型 10
1.3.1 JVM的内存架构 10
1.3.2 JVM进程的物理内存架构 11
1.3.3 常见的内存问题 12
1.3.4 预防内存问题的方法 13
1.4 线程死锁案例分析 15
1.4.1 案例介绍 15
1.4.2 原因分析 16
1.4.3 问题排查 16
1.5 Java线程的原理及优化方法 18
1.5.1 Java线程的状态 18
1.5.2 Java线程加锁的原理 19
1.5.3 Java线程、本地线程、内核线程及JDK线程模型 25
1.5.4 如何预防线程死锁 26
1.6 MySQL慢查询案例分析 27
1.6.1 问题案例 27
1.6.2 5why原因分析 28
1.6.3 MySQL存储引擎的原理 29
1.6.4 MySQL慢查询问题排查 41
1.6.5 如何预防MySQL慢查询 44
第2章 服务稳定性治理 47
2.1 服务稳定性治理的目标 47
2.2 服务稳定性的度量标准 47
2.3 服务稳定性治理的方法 51
2.4 如何做好服务稳定性治理 53
2.4.1 提升团队的意识 53
2.4.2 提升团队的设计能力 54
2.4.3 提升服务的可靠性 59
2.4.4 提升服务的可用性 61
2.5 服务稳定性可观测能力建设 66
2.5.1 关于日志打印的最佳实践 66
2.5.2 使用APM工具进行全链路追踪 69
2.5.3 可观测性指标体系建设 76
2.5.4 搭建Prometheus监控系统 78
第3章 资损风险分析与治理 82
3.1 为什么资损事故频发 82
3.2 资金安全相关的合规问题及要求 83
3.2.1 二清合规问题 84
3.2.2 三流合一 87
3.3 资损的核心指标 87
3.3.1 理论资损金额 87
3.3.2 实际资损金额 87
3.3.3 财务差异金额 88
3.4 资损的核心指标计算规则 88
3.5 如何确保业务逻辑正确 89
3.5.1 如何确保金额计算无误 89
3.5.2 如何确保额度控制得当 91
3.5.3 资金的流动满足平衡性约束 92
3.5.4 如何确保流程状态正确 93
3.5.5 如何确保时效性 93
3.6 如何确保技术方案正确 94
3.6.1 上下游数据的一致性 94
3.6.2 数据库与缓存数据的一致性 95
3.6.3 消息队列中消息处理的正确性 96
3.6.4 定时任务处理的正确性 97
3.7 如何避免人为操作风险 97
3.8 如何及时发现资损风险 98
3.8.1 梳理资损链路风险 99
3.8.2 监控核对机制 102
3.8.3 什么是业业核对 103
3.8.4 什么是业会核对 109
3.8.5 什么是会会核对 111
3.8.6 什么是账实核对 113
3.8.7 核对评估指标 113
第4章 通过故障演练主动发现潜在的风险 114
4.1 为什么“黑天鹅事件”不断出现 114
4.2 故障演练的类型及方法 114
4.2.1 故障演练的类型 115
4.2.2 故障演练的方法 115
4.3 ChaosBlade的原理与实践 117
4.3.1 ChaosBlade的架构 118
4.3.2 ChaosBlade的安装和应用 119
4.3.3 ChaosBlade支持的调用方式 120
4.3.4 ChaosBlade中的常用命令 121
4.3.5 ChaosBlade的原理 123
4.4 ChaosBlade-Box故障演练管理平台 126
4.4.1 ChaosBlade-Box的安装 127
4.4.2 ChaosBlade-Box的应用 129
4.5 Redis缓存故障演练案例 134
4.5.1 故障演练方案设计 134
4.5.2 常见的缓存优化方案 138
4.6 MySQL故障演练案例 142
4.6.1 故障演练方案设计 142
4.6.2 MySQL高可用实战 145
第5章 会员系统的模型债务治理 156
5.1 技术债务产生的原因 156
5.2 技术债务的治理方法 157
5.3 如何做好会员系统的业务建模 158
5.3.1 会员系统的业务分析 158
5.3.2 使用用例进行业务建模 162
5.3.3 会员系统的非功能需求分析 165
5.4 如何进行会员系统的领域建模 166
5.4.1 关于领域建模的一些基础知识 166
5.4.2 领域建模方法1:重用和修改现有的模型 170
5.4.3 领域建模方法2:用例驱动设计 172
5.4.4 领域建模方法3:彩色建模(FDD) 175
5.4.5 领域建模方法4:领域驱动设计 179
5.4.6 领域建模方法5:事件风暴(Event Storming) 184
5.4.7 将设计模式应用于领域模型 189
5.5 如何做好会员系统的架构设计 190
5.5.1 通过领域驱动设计规划会员系统的架构 191
5.5.2 通过领域驱动设计实现会员领域模型 195
5.5.3 通过适配器和防腐层隔离技术细节 200
第6章 供应链系统的架构债务治理 205
6.1 为什么客诉和工单不断 205
6.2 餐饮供应链系统中的问题梳理和分析 206
6.2.1 餐饮供应链系统中的核心业务场景 206
6.2.2 问题梳理和分析 208
6.3 通过领域划分治理烟囱化服务 210
6.3.1 识别领域 210
6.3.2 定义领域模型 212
6.3.3 设计领域服务 212
6.4 分布式系统中的数据不一致问题 214
6.4.1 数据库分布式事务 215
6.4.2 两阶段提交(2PC) 216
6.4.3 三阶段提交(3PC) 217
6.4.4 补偿事务(TCC) 219
6.4.5 事务消息 220
6.4.6 数据库中数据一致性的落地方案 221
6.5 保障系统上下游链路的稳定性 224
6.5.1 对下游服务的熔断降级 225
6.5.2 接口调用限流优化 228
6.5.3 实现接口幂等机制 232
6.6 系统的高并发性能保障 233
6.6.1 数据库的分库分表设计 234
6.6.2 使用缓存提升服务并发性能 243
第7章 大模型应用程序开发实战 251
7.1 大模型简介及其应用场景 251
7.2 用AI工具提升研发质量和效率 252
7.2.1 AI编程助手简介 252
7.2.2 使用AI编程助手自动补全代码 255
7.2.3 使用AI编程助手检测代码Bug 256
7.2.4 使用AI编程助手生成单元测试代码 258
7.2.5 使用AI编程助手做代码评审 259
7.3 基于大模型开发应用程序 259
7.3.1 基于大模型开发应用程序的流程 259
7.3.2 任务链设计 260
7.3.3 Prompt设计 263
7.3.4 知识库设计 266
7.3.5 评测优化 270
7.4 大模型应用程序开发框架 273
7.4.1 调用OpenAI API的方法 274
7.4.2 LangChain 279
7.4.3 Semantic Kernel 283
7.4.4 Spring AI 285

读者评论

同系列书

  • Keras快速上手:基于Python的深度学习实战

    本书系统地讲解了深度学习的基本知识、建模过程和应用,并以深度学习在推荐系统、图像识别、自然语言处理、文字生成和时间序列中的具体应用为案例,详细介绍...

     
  • 深度学习框架PyTorch快速开发与实战

    邢梦来 (作者)

    深度学习已经成为人工智能炙手可热的技术,PyTorch是一个较新的、容易上手的深度学习开源框架,目前已得到广泛应用。本书从PyTorch框架结构出发,通过案例主...

    ¥39.00
  • 当时尚遇见跨境电商

    贺俐 (作者)

    伴随着中国中产阶级的消费升级,跨境电商创业步入了黄金时代。2014年被互联网行业公认为是跨境电商的元年。跨境电商其实是“互联网+零售+国际贸易”的一个全新的商业...

    ¥59.00
  • 做自己——鬼脚七自媒体第一季(第2版)

    文德 (作者)

    作为淘宝搜索负责人,鬼脚七对搜索规则的解读非常权威;负责的互联网产品用户过亿,鬼脚七对产品的认识也值得业界借鉴;自媒体有一定名气和特点,鬼脚七对新媒体的发展也有...

    ¥77.00
  • LabVIEW实用工具详解

    罗应婷 姚新军 (作者)

    详尽讲解了labview常用工具的编程方法、技巧和工程应用。全书共分为17章,主要涉及LabVIEW中的数学、逻辑电路、逻辑编程、字符串、数组、数据结构、动态链...

    ¥69.00

相关图书

算法训练营:进阶篇(全彩版)

《算法训练营:进阶篇(全彩版)》图文并茂、通俗易懂,详细讲解数据结构和算法进阶知识,并融入大量的竞赛实例和解题技巧,可帮助读者领悟数据结构和算法的精髓,并熟练应...

 

算法训练营:入门篇(全彩版)

本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C++基础...

 

MATLAB计算机视觉与深度学习实战(第2版)

刘衍琦,王小超,詹福宇 (作者)

本书详细讲解了29个实用的MATLAB计算机视觉与深度学习实战案例(含可运行程序),涉及图像去雾、答题卡识别、图像分割、肝脏影像辅助分割系统、人脸二维码编解码系...

 

亿级流量系统架构设计与实战

李琛轩 (作者)

本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机...

 

B站运营大揭秘:百万Up主真想教会你的创作笔记

GenJi是真想教会你 鱼C-小甲鱼 阿Test正经比比 编著 (作者)

本书由B站的三位百万级Up主(GenJi是真想教会你、鱼C-小甲鱼、阿Test正经比比)联合打造,为读者提供了B站独家运营秘籍。 全书总计8章。第1章重点讲解...

 

看漫画学C++:有趣、有料、好玩、好用(全彩入门版)

关东升 ,赵大羽 (作者)

C++,简单而强大,已经渗透到计算机领域的各个角落,甚至有很多中小学也开始引入C++编程课程。 本书秉承有趣、有料、好玩、好用的理念,通过精心设计的漫画,...