微服务之道:度量驱动开发

微服务之道:度量驱动开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 编著 , 编著
2020-05
版次: 1
ISBN: 9787111653615
定价: 89.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 308页
4人买过
  • 本书由资深架构师撰写,系统地介绍微服务设计与实现方法,以及度量驱动开发的理论与实践,融入了作者多年架构设计的经验。主要内容包括:

      第1章介绍微服务理论与原则,包括微服务的概念、协议、特点等;

      第2章介绍微服务度量的基本概念;

      第3章介绍微服务度量的设计方法,包括设计要点、应对变化、测试驱动的开发等;

      第4章通过案例讲解微服务实现的过程,包括一个完整实例;

      第5章和第6章分别介绍度量数据的聚合与展示、分析与报警;

      第7章介绍度量驱动的运维,包括部署升级、配置调整等;

      第8章介绍全链路度量。 范亚敏   



    思科系统(中国)研发有限公司高级软件架构师,现在主要负责后端服务平台的开发,参与或主持过多项大型分布式系统的设计与开发工作,曾任思科电话会议系统的产品负责人和若干微服务的负责人,喜欢分享和钻研后端微服务及度量驱动开发的相关技术与方法。



     



    傅健   



    思科系统(中国)研发有限公司高级软件工程师,现主要专注于后端服务器的开发,曾参与多种不同类型项目的度量方案的研究、设计与应用实践。喜欢深入研究各种技术原理,爱好开源技术,是Netty、Spring等很多流行开源软件的贡献者。 Contents  目  录



    本书赞誉



    前言



    第1章 微服务入门  1



    1.1 单体服务的特点  1



    1.2 拆分服务  2



    1.2.1 分而治之以降低复杂性  2



    1.2.2 分而用之以提高可重用性  4



    1.2.3 分而做之以提高开发效率  5



    1.3 微服务的特点  5



    1.3.1 微服务架构的特点  6



    1.3.2 微服务架构的特征  7



    1.3.3 微服务架构的风格  7



    1.3.4 微服务的分类  7



    1.3.5 多小的服务才是微服务  8



    1.4 微服务之道  8



    1.4.1 软件之道  8



    1.4.2 关于微服务的思考  10



    1.5 土豆微服务案例快速上手  11



    1.5.1 土豆微服务构建计划  11



    1.5.2 微服务构建一:土豆管理微服务  13



    1.5.3 微服务构建二:土豆提醒微服务  24



    1.5.4 微服务构建三:土豆网页微服务  30



    1.5.5 部署土豆微服务  35



    1.6 本章小结  38



    第2章 微服务度量的基本概念  39



    2.1 微服务的局限及其解决方案  39



    2.1.1 微服务的局限  39



    2.1.2 解决方案  40



    2.2 微服务中度量的重要性  41



    2.3 微服务度量的内容  42



    2.3.1 按度量的目标划分  43



    2.3.2 按度量的层次划分  44



    2.4 微服务度量指标与术语  49



    2.4.1 统计学指标  49



    2.4.2 度量指标相关术语  53



    2.4.3 度量处理相关术语  55



    2.5 微服务度量策略选择  58



    2.5.1 如何做度量  58



    2.5.2 如何选择度量方案  60



    2.6 本章小结  63



    第3章 微服务度量的设计  64



    3.1 微服务协议的选择与度量  64



    3.1.1 协议概述  64



    3.1.2 协议分类  65



    3.1.3 协议分析  67



    3.2 HTTP及其度量  71



    3.2.1 HTTP简介  71



    3.2.2 REST协议的度量要点  71



    3.3 SIP及其度量  72



    3.3.1 SIP简介  72



    3.3.2 SIP的度量要点  73



    3.4 RTP及其度量  73



    3.4.1 RTP简介  73



    3.4.2 RTP的度量要点  74



    3.5 数据存储系统的选型  76



    3.5.1 理论回顾  76



    3.5.2 数据存储系统选型  78



    3.5.3 数据存储系统特性  79



    3.6 基于度量实现高可用性  80



    3.6.1 分流——负载均衡  81



    3.6.2 限流——速率控制  83



    3.6.3 断流——熔断隔离  91



    3.7 土豆微服务度量驱动的设计  95



    3.7.1 为如何度量而设计  96



    3.7.2 通过度量改进设计  101



    3.8 本章小结  102



    第4章 度量驱动的微服务实现  103



    4.1 度量代码  103



    4.1.1 代码度量标准  103



    4.1.2 代码度量关键指标  105



    4.1.3 小结  107



    4.2 度量进度  108



    4.3 度量性能  110



    4.4 度量微服务的常用技术  123



    4.4.1 利用切面记录度量日志  123



    4.4.2 利用线程局部变量记录度量信息  124



    4.4.3 利用过滤器找准度量点  126



    4.4.4 提供JMX暴露内部度量指标  127



    4.4.5 提供API或命令行接口暴露内部度量指标  131



    4.4.6 阈值和采样率控制度量数据量  132



    4.4.7 利用简单网络管理协议提供度量查询和报警支持  135



    4.4.8 综合利用以上技术  135



    4.5 度量常用类库  138



    4.5.1 Dropwizard的Metrics-core  138



    4.5.2 Pivotal的Micrometer  140



    4.5.3 Spring Boot Actuator  142



    4.6 土豆微服务度量实现  147



    4.6.1 为土豆微服务提供代码度量  147



    4.6.2 为土豆微服务添加健康检查API  152



    4.6.3 为土豆微服务提供资源使用率度量  156



    4.6.4 为土豆微服务提供使用量的度量  157



    4.6.5 为土豆微服务提供性能度量  159



    4.6.6 为土豆微服务提供错误度量  160



    4.6.7 为土豆微服务提供业务KPI度量  160



    4.7 本章小结  163



    第5章 度量数据的聚合与展示  164



    5.1 度量数据的聚合和存储  164



    5.2 度量数据的清洗和处理  166



    5.2.1 数据清洗的方法  166



    5.2.2 数据清洗的案例  166



    5.3 度量数据的可视化  170



    5.3.1 图表的结构  170



    5.3.2 图表的类型  170



    5.3.3 如何选择图表  179



    5.4 常用度量聚合与展示方案  181



    5.4.1 TIG方案  181



    5.4.2 ELKK方案  188



    5.4.3 Collectd方案  193



    5.4.4 Prometheus方案  198



    5.5 土豆微服务的度量聚合与展示  200



    5.5.1 土豆微服务支持多种度量聚合与展示系统的设计  200



    5.5.2 基于TIG的土豆微服务度量聚合与展示  202



    5.5.3 基于ELKK的土豆微服务度量聚合与展示  207



    5.6 本章小结  214



    第6章 度量数据的分析与报警  215



    6.1 度量数据的分析  215



    6.1.1 确定数据分析的目标  215



    6.1.2 数据分析常见问题  218



    6.2 实现报警常用的技术  222



    6.2.1 Python数据分析技术栈  223



    6.2.2 YAML配置文件  223



    6.2.3 Elasticsearch API  224



    6.2.4 Pandas DataFrame  226



    6.2.5 Matplotlib  228



    6.3 土豆微服务的报警实现  230



    6.3.1 报警系统的设计  230



    6.3.2 报警系统的实现  232



    6.3.3 报警系统的优化  242



    6.4 本章小结  244



    第7章 度量驱动的运维  245



    7.1 部署升级  245



    7.1.1 何时能部署到产品线上  246



    7.1.2 如何发布新功能  247



    7.2 数据的运维  251



    7.2.1 健康检查  251



    7.2.2 度量报告  251



    7.2.3 度量警告  252



    7.2.4 故障处理  252



    7.2.5 基于度量来发现和解决问题  255



    7.3 配置调整  258



    7.3.1 关于配置的思考  259



    7.3.2 配置的版本管理  259



    7.3.3 配置的载体  260



    7.3.4 环境管理  262



    7.3.5 配置微服务  262



    7.3.6 配置管理实例  263



    7.4 开源组件的度量  267



    7.4.1 对Redis的度量  267



    7.4.2 对Kafka的度量  270



    7.4.3 对Cassandra的度量  273



    7.5 土豆微服务的运维示例  276



    7.6 本章小结  280



    第8章 全链路度量  281



    8.1 微服务的调用链路度量  281



    8.1.1 3个关键信息  282



    8.1.2 5个要点  283



    8.1.3 3种标识  283



    8.1.4 开源调用链分析方案  284



    8.1.5 构建土豆微服务调用链的度量  285



    8.2 客户端度量数据的采集  289



    8.3 度量驱动开发的回顾与展望  291



    8.4 本章小结  293



    附录 常用的度量相关工具与软件库  294
  • 内容简介:
    本书由资深架构师撰写,系统地介绍微服务设计与实现方法,以及度量驱动开发的理论与实践,融入了作者多年架构设计的经验。主要内容包括:

      第1章介绍微服务理论与原则,包括微服务的概念、协议、特点等;

      第2章介绍微服务度量的基本概念;

      第3章介绍微服务度量的设计方法,包括设计要点、应对变化、测试驱动的开发等;

      第4章通过案例讲解微服务实现的过程,包括一个完整实例;

      第5章和第6章分别介绍度量数据的聚合与展示、分析与报警;

      第7章介绍度量驱动的运维,包括部署升级、配置调整等;

      第8章介绍全链路度量。
  • 作者简介:
    范亚敏   



    思科系统(中国)研发有限公司高级软件架构师,现在主要负责后端服务平台的开发,参与或主持过多项大型分布式系统的设计与开发工作,曾任思科电话会议系统的产品负责人和若干微服务的负责人,喜欢分享和钻研后端微服务及度量驱动开发的相关技术与方法。



     



    傅健   



    思科系统(中国)研发有限公司高级软件工程师,现主要专注于后端服务器的开发,曾参与多种不同类型项目的度量方案的研究、设计与应用实践。喜欢深入研究各种技术原理,爱好开源技术,是Netty、Spring等很多流行开源软件的贡献者。
  • 目录:
    Contents  目  录



    本书赞誉



    前言



    第1章 微服务入门  1



    1.1 单体服务的特点  1



    1.2 拆分服务  2



    1.2.1 分而治之以降低复杂性  2



    1.2.2 分而用之以提高可重用性  4



    1.2.3 分而做之以提高开发效率  5



    1.3 微服务的特点  5



    1.3.1 微服务架构的特点  6



    1.3.2 微服务架构的特征  7



    1.3.3 微服务架构的风格  7



    1.3.4 微服务的分类  7



    1.3.5 多小的服务才是微服务  8



    1.4 微服务之道  8



    1.4.1 软件之道  8



    1.4.2 关于微服务的思考  10



    1.5 土豆微服务案例快速上手  11



    1.5.1 土豆微服务构建计划  11



    1.5.2 微服务构建一:土豆管理微服务  13



    1.5.3 微服务构建二:土豆提醒微服务  24



    1.5.4 微服务构建三:土豆网页微服务  30



    1.5.5 部署土豆微服务  35



    1.6 本章小结  38



    第2章 微服务度量的基本概念  39



    2.1 微服务的局限及其解决方案  39



    2.1.1 微服务的局限  39



    2.1.2 解决方案  40



    2.2 微服务中度量的重要性  41



    2.3 微服务度量的内容  42



    2.3.1 按度量的目标划分  43



    2.3.2 按度量的层次划分  44



    2.4 微服务度量指标与术语  49



    2.4.1 统计学指标  49



    2.4.2 度量指标相关术语  53



    2.4.3 度量处理相关术语  55



    2.5 微服务度量策略选择  58



    2.5.1 如何做度量  58



    2.5.2 如何选择度量方案  60



    2.6 本章小结  63



    第3章 微服务度量的设计  64



    3.1 微服务协议的选择与度量  64



    3.1.1 协议概述  64



    3.1.2 协议分类  65



    3.1.3 协议分析  67



    3.2 HTTP及其度量  71



    3.2.1 HTTP简介  71



    3.2.2 REST协议的度量要点  71



    3.3 SIP及其度量  72



    3.3.1 SIP简介  72



    3.3.2 SIP的度量要点  73



    3.4 RTP及其度量  73



    3.4.1 RTP简介  73



    3.4.2 RTP的度量要点  74



    3.5 数据存储系统的选型  76



    3.5.1 理论回顾  76



    3.5.2 数据存储系统选型  78



    3.5.3 数据存储系统特性  79



    3.6 基于度量实现高可用性  80



    3.6.1 分流——负载均衡  81



    3.6.2 限流——速率控制  83



    3.6.3 断流——熔断隔离  91



    3.7 土豆微服务度量驱动的设计  95



    3.7.1 为如何度量而设计  96



    3.7.2 通过度量改进设计  101



    3.8 本章小结  102



    第4章 度量驱动的微服务实现  103



    4.1 度量代码  103



    4.1.1 代码度量标准  103



    4.1.2 代码度量关键指标  105



    4.1.3 小结  107



    4.2 度量进度  108



    4.3 度量性能  110



    4.4 度量微服务的常用技术  123



    4.4.1 利用切面记录度量日志  123



    4.4.2 利用线程局部变量记录度量信息  124



    4.4.3 利用过滤器找准度量点  126



    4.4.4 提供JMX暴露内部度量指标  127



    4.4.5 提供API或命令行接口暴露内部度量指标  131



    4.4.6 阈值和采样率控制度量数据量  132



    4.4.7 利用简单网络管理协议提供度量查询和报警支持  135



    4.4.8 综合利用以上技术  135



    4.5 度量常用类库  138



    4.5.1 Dropwizard的Metrics-core  138



    4.5.2 Pivotal的Micrometer  140



    4.5.3 Spring Boot Actuator  142



    4.6 土豆微服务度量实现  147



    4.6.1 为土豆微服务提供代码度量  147



    4.6.2 为土豆微服务添加健康检查API  152



    4.6.3 为土豆微服务提供资源使用率度量  156



    4.6.4 为土豆微服务提供使用量的度量  157



    4.6.5 为土豆微服务提供性能度量  159



    4.6.6 为土豆微服务提供错误度量  160



    4.6.7 为土豆微服务提供业务KPI度量  160



    4.7 本章小结  163



    第5章 度量数据的聚合与展示  164



    5.1 度量数据的聚合和存储  164



    5.2 度量数据的清洗和处理  166



    5.2.1 数据清洗的方法  166



    5.2.2 数据清洗的案例  166



    5.3 度量数据的可视化  170



    5.3.1 图表的结构  170



    5.3.2 图表的类型  170



    5.3.3 如何选择图表  179



    5.4 常用度量聚合与展示方案  181



    5.4.1 TIG方案  181



    5.4.2 ELKK方案  188



    5.4.3 Collectd方案  193



    5.4.4 Prometheus方案  198



    5.5 土豆微服务的度量聚合与展示  200



    5.5.1 土豆微服务支持多种度量聚合与展示系统的设计  200



    5.5.2 基于TIG的土豆微服务度量聚合与展示  202



    5.5.3 基于ELKK的土豆微服务度量聚合与展示  207



    5.6 本章小结  214



    第6章 度量数据的分析与报警  215



    6.1 度量数据的分析  215



    6.1.1 确定数据分析的目标  215



    6.1.2 数据分析常见问题  218



    6.2 实现报警常用的技术  222



    6.2.1 Python数据分析技术栈  223



    6.2.2 YAML配置文件  223



    6.2.3 Elasticsearch API  224



    6.2.4 Pandas DataFrame  226



    6.2.5 Matplotlib  228



    6.3 土豆微服务的报警实现  230



    6.3.1 报警系统的设计  230



    6.3.2 报警系统的实现  232



    6.3.3 报警系统的优化  242



    6.4 本章小结  244



    第7章 度量驱动的运维  245



    7.1 部署升级  245



    7.1.1 何时能部署到产品线上  246



    7.1.2 如何发布新功能  247



    7.2 数据的运维  251



    7.2.1 健康检查  251



    7.2.2 度量报告  251



    7.2.3 度量警告  252



    7.2.4 故障处理  252



    7.2.5 基于度量来发现和解决问题  255



    7.3 配置调整  258



    7.3.1 关于配置的思考  259



    7.3.2 配置的版本管理  259



    7.3.3 配置的载体  260



    7.3.4 环境管理  262



    7.3.5 配置微服务  262



    7.3.6 配置管理实例  263



    7.4 开源组件的度量  267



    7.4.1 对Redis的度量  267



    7.4.2 对Kafka的度量  270



    7.4.3 对Cassandra的度量  273



    7.5 土豆微服务的运维示例  276



    7.6 本章小结  280



    第8章 全链路度量  281



    8.1 微服务的调用链路度量  281



    8.1.1 3个关键信息  282



    8.1.2 5个要点  283



    8.1.3 3种标识  283



    8.1.4 开源调用链分析方案  284



    8.1.5 构建土豆微服务调用链的度量  285



    8.2 客户端度量数据的采集  289



    8.3 度量驱动开发的回顾与展望  291



    8.4 本章小结  293



    附录 常用的度量相关工具与软件库  294
查看详情
相关图书 / 更多
微服务之道:度量驱动开发
微服务开发实战
[美]保罗·奥斯曼 著;邓彪 译
微服务之道:度量驱动开发
微服务从小白到专家――SpringCloud和Kubernetes实战
姚秋辰、张昕、卿睿 著
微服务之道:度量驱动开发
微服务架构原理与开发实战
张刚
微服务之道:度量驱动开发
微服务架构深度解析:原理、实践与进阶
王佩华
微服务之道:度量驱动开发
微服务即学即用
[美]罗尼·米特拉(Ronnie Mitra);[美]伊拉克利·纳达雷什维利(Irakli Nadareishvili);王岩;黄俊彬
微服务之道:度量驱动开发
微服务下的领域驱动设计
孙连山 编著
微服务之道:度量驱动开发
微服务质量保障:测试策略与质量体系
嘉木
微服务之道:度量驱动开发
微服务之道
[爱尔兰]理查德·罗杰(Richard Rodger)
微服务之道:度量驱动开发
微服务与事件驱动架构
[加]亚当·贝勒马尔(Adam Bellemare) 著;温正东 译
微服务之道:度量驱动开发
微服务项目实战派——从Spring Boot到Spring Cloud
姜桥
微服务之道:度量驱动开发
微服务,心体验
李方
微服务之道:度量驱动开发
微服务SpringBoot实战(面向高等职业院校基于工作过程项目式系列教材)
王新强、张明宇 编