作品简介

这是一本从开发流程、技术栈、典型问题解决方案和开发规范等维度全面讲解服务端开发的著作。它衍生自作者在某著名互联网科技公司内部讲授的高口碑课程,是作者近10年服务端开发经验的总结,同时融合了业界在服务端开发方面的宝贵项目经验和实践智慧。

本书理论与实践结合,摆脱编程语言、框架、中间件及传统编程思想的束缚,全景式、体系化地阐述了服务端开发,核心内容包括以下两个部分。

第1部分:服务端开发的技术和方法。首先,介绍了服务端开发的职责、技术栈、核心流程和进阶路径;然后,从需求分析、抽象建模、系统设计、数据设计和非功能性设计5个方面展开,结合案例深入讲解了服务端开发的实操方法和重难点,为读者呈现出服务端开发的全景图,帮助读者快速、体系化地掌握服务端开发的相关知识和方法。

第2部分:服务端典型问题的解决方案。针对高并发、高性能、高可用、缓存、数据一致性、幂等、秒杀等服务端开发实践中的典型问题,给出了对应的解决方案和开发规范,同时还结合案例深入分析了不同方案的优缺点。此外,还总结了接口设计、日志打印、异常处理、代码编写、代码注释等落地层面的行业案例和规范。

郭进,浙江大学工学硕士,杭州市高层次人才现任某著名互联网科技公司服务端技术专家先后从事过智能控制算法、分布式中间件和服务端研发。相关成果曾发表于领域顶级会议和SCI期刊。

近年来,致力于构建高效、可靠、可扩展的服务端系统,作为核心成员设计并开发了承载百万级QPS、服务亿级用户的大型分布式系统,在领域建模、系统架构、信息流推荐及研发规范方面积累了大量优秀实践曾获得阿里第二届技术讲师课程大赛冠军、华为“总裁嘉奖令”、浙江省优秀毕业生、NUEDC(全国大学生电子设计竞赛)全国一等奖及瑞萨特别奖、国家奖学金等30余个奖项。

CSDN博客专家,阿里高阶技术“传橙官”,先后在CSDN、“阿里技术”公众号阿里ATA等平台发表技术文章数百篇,多篇文章入选平台“年度最火文章合集”“年度好评TOP10”和“头条推荐”。

作品目录

  • 本书赞誉
  • 前言 Preface
  • 为什么要写这本书
  • 读者对象
  • 本书特色
  • 本书主要内容
  • 勘误和支持
  • 致谢
  • Part 1 第一部分 技术与方法
  • Chapter 1 第1章 走进服务端开发
  • 1.1 服务端开发概述
  • 1.2 服务端开发技术栈
  • 1.3 服务端开发核心流程
  • 1.4 服务端开发进阶路径
  • Chapter 2 第2章 需求分析
  • 2.1 需求分类
  • 2.2 需求分析的流程
  • 2.3 需求分析的常用方法
  • 2.4 需求分析的重点和难点
  • Chapter 3 第3章 抽象建模
  • 3.1 抽象思维
  • 3.2 建模方法
  • 3.3 用例建模法知识储备
  • 3.4 用例建模法的4个实施步骤
  • 3.5 建模小结
  • Chapter 4 第4章 系统设计
  • 4.1 大话系统设计
  • 4.2 总体架构
  • 4.3 内部分层
  • 4.4 详细设计
  • 4.5 一图胜千言
  • Chapter 5 第5章 数据设计
  • 5.1 数据设计概述
  • 5.2 数据库的分类
  • 5.3 常用数据库及其适用场景
  • 5.4 存储架构演进
  • 5.5 物理数据表设计
  • Chapter 6 第6章 非功能性设计
  • 6.1 稳定性设计
  • 6.2 预案设计
  • 6.3 可测性设计
  • 6.4 资金安全设计
  • 6.5 其他非功能性设计
  • Part 2 第二部分 解决方案
  • Chapter 7 第7章 高并发问题及解决方案
  • 7.1 高并发概述
  • 7.2 资源扩展策略
  • 7.3 数据缓存策略
  • 7.4 流量削峰策略
  • 7.5 服务降级策略
  • 7.6 限流策略
  • 7.7 基本原则
  • Chapter 8 第8章 缓存的典型问题及解决方案
  • 8.1 缓存预热
  • 8.2 缓存淘汰
  • 8.3 缓存更新
  • 8.4 缓存雪崩
  • 8.5 缓存穿透
  • 8.6 缓存热点
  • Chapter 9 第9章 缓存数据与数据库数据一致性问题及解决方案
  • 9.1 CAP理论简介
  • 9.2 缓存数据与数据库数据不一致的原因
  • 9.3 延时双删
  • 9.4 基于binlog异步删除缓存
  • 9.5 自动过期加失败补偿
  • Chapter 10 第10章 分布式系统幂等问题及解决方案
  • 10.1 幂等概述
  • 10.2 幂等实现四部曲
  • 10.3 典型幂等策略
  • 10.4 幂等号生成
  • 10.5 幂等注意事项
  • Chapter 11 第11章 秒杀系统关键问题及解决方案
  • 11.1 主要技术难点
  • 11.2 电商平台的库存运作全景图
  • 11.3 库存架构演进
  • 11.4 库存单元化
  • Chapter 12 第12章 常见性能瓶颈及解决方案
  • 12.1 软件性能概述
  • 12.2 CPU
  • 12.3 内存
  • 12.4 磁盘
  • Chapter 13 第13章 高可用问题及解决方案
  • 13.1 高可用概述
  • 13.2 高可用设计原则
  • 13.3 接入层高可用
  • 13.4 业务层高可用
  • 13.5 数据层高可用
  • Chapter 14 第14章 服务端开发实用规范
  • 14.1 实用API设计规范
  • 14.2 实用日志规范
  • 14.3 实用异常处理规范
  • 14.4 实用代码编写规范
  • 14.5 实用注释规范
  • 推荐阅读
展开全部