作品简介

《分布式服务架构:原理、设计与实战》全面介绍了分布式服务架构的原理与设计,并结合作者在实施微服务架构过程中的实践经验,总结了保障线上服务健康、可靠的最佳方案,是一本架构级、实战型的重量级著作。

《分布式服务架构:原理、设计与实战》以分布式服务架构的设计与实现为主线,由浅入深地介绍了分布式服务架构的方方面面,主要包括理论和实践两部分。理论上,首先介绍了服务架构的背景,以及从服务化架构到微服务架构的演化;然后提出了保证分布式服务系统架构一致性的方案和模式,并介绍了互联网架构评审的方法论;最后给出了一个简要的非功能质量的技术评审提纲。实践上,首先提供了一个互联网项目的性能和容量评估的真实案例,介绍了压测的方案设计和最佳实践,这些技术能够全面保证大规模、高并发项目的一致性、可用性和高并发性;然后讲解了大规模服务的日志系统的原理、设计与实践,包括ELK等框架的特点和使用方式等,并介绍了当前流行的APM系统的设计与实现,主要包括调用链和业务链的跟踪与恢复,涵盖了线上应急和技术攻关的流程及重点,也结合服务化系统线上应急过程进行分析并总结了其中需要用到的Java虚拟机、Linux和定制化脚本等命令,这些命令都是每个开发人员都会用到的解决线上问题的利器;最后,阐述了系统服务的容器化过程,并详细介绍了敏捷开发流程和实现自动化的常用工具等,让读者既能学到架构设计的基础理论,也能结合书中的原理、设计与方法论来解决大规模、高并发互联网项目中的现实问题。

无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理、技术总监,还是对于资深IT人士来说,《分布式服务架构:原理、设计与实战》都有很强的借鉴性和参考价值。

李艳鹏

现任易宝支付产品中心首席架构师,曾在花旗银行、甲骨文、路透社、新浪微博等大型IT互联网公司担任技术负责人和架构师,现专注于大规模、高并发的线上和线下支付平台的应用架构和技术架构的规划与落地,负责交易、支付、渠道、出款、风控、对账等核心支付系统的设计与实现,对移动支付、聚合支付、合规账户、扫码支付、标记化支付等业务场景有产品应用架构规划与落地的实践经验。

杨彪

现任某创业公司技术总监及合伙人,在互联网和游戏行业有近10年工作经验,曾在酷我音乐盒、人人游戏和掌趣科技等上市公司担任核心研发职位,在互联网公司做过日活跃用户量达千万的项目,也在游戏公司做过多款月流水千万以上的游戏。喜欢研究问题,追求前沿技术,学无止境。

作品目录

  • 推荐语
  • 推荐序一
  • 推荐序二
  • 推荐序三
  • 前言
  • 第1章 分布式微服务架构设计原理
  • 1.1 从传统单体架构到服务化架构
  • 1.2 从服务化到微服务
  • 1.3 微服务架构的核心要点和实现原理
  • 1.4 Java平台微服务架构的项目组织形式
  • 1.5 服务化管理和治理框架的技术选型
  • 1.6 本章小结
  • 第2章 彻底解决分布式系统一致性的问题
  • 2.1 什么是一致性
  • 2.2 一致性问题
  • 2.3 解决一致性问题的模式和思路
  • 2.4 超时处理模式
  • 2.5 迁移开关的设计
  • 2.6 本章小结
  • 第3章 服务化系统容量评估和性能保障
  • 3.1 架构设计与非功能质量
  • 3.2 全面的非功能质量需求
  • 3.3 典型的技术评审提纲
  • 3.4 性能和容量评估经典案例
  • 3.5 性能评估参考标准
  • 3.6 性能测试方案的设计和最佳实践
  • 3.7 有用的压测工具
  • 3.8 本章小结
  • 第4章 大数据日志系统的构建
  • 4.1 开源日志框架的原理分析与应用实践
  • 4.2 日志系统的优化和最佳实践
  • 4.3 大数据日志系统的原理与设计
  • 4.4 ELK系统的构建与使用
  • 4.5 本章小结
  • 第5章 基于调用链的服务治理系统的设计与实现
  • 5.1 APM系统简介
  • 5.2 调用链跟踪的原理
  • 5.3 调用链跟踪系统的设计与实现
  • 5.4 本章小结
  • 第6章 Java服务的线上应急和技术攻关
  • 6.1 海恩法则和墨菲定律
  • 6.2 线上应急的目标、原则和方法
  • 6.3 技术攻关的方法论
  • 6.4 环境搭建和示例服务启动
  • 6.5 高效的服务化治理脚本
  • 6.6 JVM提供的监控命令
  • 6.7 重要的Linux基础命令
  • 6.8 现实中的应急和攻关案例
  • 6.9 本章小结
  • 第7章 服务的容器化过程
  • 7.1 容器vs虚拟机
  • 7.2 Docker实战
  • 7.3 容器化项目
  • 7.4 本章小结
  • 第8章 敏捷开发2.0的自动化工具
  • 8.1 什么是敏捷开发2.0
  • 8.2 敏捷开发的自动化流程
  • 8.3 敏捷开发的常用自动化工具
  • 8.4 本章小结
展开全部