微信读书书城
架构不再难(全5册)
首页
我的书架
登录
本书已下架
内容不再支持阅读
架构不再难(全5册)
刘俊海 范亚敏 傅健 朱荣鑫等
扉页
版权信息
+
书签
Service Mesh微服务架构设计
前言
第一篇 基础篇
第1章 微服务架构
1.1 为什么需要微服务
1.1.1 传统单体服务的问题
1.1.2 微服务的定义
1.1.3 微服务与康威定律
1.1.4 微服务的收益
1.2 微服务架构的挑战
1.2.1 服务拆分
1.2.2 开发挑战
1.2.3 测试挑战
1.2.4 运维挑战
1.3 微服务化的具体时机
1.4 微服务化开展前的准备工作
1.4.1 微服务开发框架
1.4.2 微服务标准化
1.4.3 持续集成与发布
1.5 微服务实施
1.5.1 微服务拆分
1.5.2 微服务通信
1.5.3 微服务稳定性保障
1.6 本章小结
第2章 微服务治理
2.1 微服务治理基础
2.1.1 服务治理由来
2.1.2 服务治理的目标与愿景
2.1.3 服务治理的工作范畴
2.1.4 服务治理闭环体系
2.2 正向服务治理
2.2.1 效率治理
2.2.2 稳定性治理
2.3 效果治理
2.4 可见可观测
2.4.1 服务可见性
2.4.2 变更可见性
2.4.3 可观测性
2.5 量化分析体系
2.5.1 稳定性风险度量
2.5.2 基于多维度监控的故障定位
2.5.3 风险分析
2.6 线上治理
2.6.1 线上预案体系
2.6.2 基于Metric的预案自动触发
2.6.3 治理参数动态调整
2.7 线下治理
2.7.1 链路稳定性治理
2.7.2 架构与资源治理
2.8 服务治理演进
2.8.1 远程Proxy方式
2.8.2 基于智能客户端的服务框架
2.8.3 本地Proxy
2.9 理想的服务治理架构
2.10 本章小结
第3章 下一代微服务框架Service Mesh概要
3.1 Service Mesh基础
3.1.1 什么是Service Mesh
3.1.2 Service Mesh的基本模式
3.2 Service Mesh的发展历程
3.3 Service Mesh项目Linkerd
3.3.1 Linkerd演进
3.3.2 Linkerd路由机制
3.3.3 Linkerd 2.0核心架构
3.4 Service Mesh项目Istio
3.4.1 Envoy
3.4.2 Istio
3.5 Service Mesh其他解决方案
3.5.1 国外其他Service Mesh项目
3.5.2 Service Mesh在中国的发展
3.6 Service Mesh云上产品
3.6.1 AWS App Mesh
3.6.2 Azure Service Fabric Mesh
3.6.3 Google Cloud Service Mesh
3.6.4 SuperGloo
3.7 Service Mesh标准化
3.8 本章小结
第二篇 架构篇
第4章 Envoy架构剖析
4.1 Envoy整体架构
4.1.1 关键设计约束
4.1.2 设计原则
4.1.3 整体架构
4.2 Envoy网络模型
4.2.1 Envoy事件调度模型
4.2.2 Envoy线程模型
4.2.3 线程本地存储机制
4.3 Envoy扩展模型
4.3.1 插件扩展机制
4.3.2 网络相关插件
4.3.3 其他扩展插件
4.4 Envoy数据平面API
4.4.1 XDS协议语义
4.4.2 XDS协议通信
4.5 Envoy启动管理
4.5.1 正常启动
4.5.2 热重启
4.6 Envoy与Nginx架构层面的对比
4.6.1 功能与定位
4.6.2 网络模型
4.6.3 连接处理
4.6.4 插件机制
4.6.5 配置管理
4.6.6 内存管理
4.6.7 部署与运维
4.6.8 观测与诊断
4.7 本章小结
第5章 Istio架构剖析
5.1 Istio整体架构
5.1.1 数据平面组件
5.1.2 控制平面组件
5.2 Istio的Kubernetes基础
5.2.1 Kubernetes综述
5.2.2 Kubernetes网络访问模型
5.2.3 Kubernetes API管理
5.2.4 Istio与Kubernetes的相互关系
5.3 Istio流量控制模型
5.3.1 流量管理API
5.3.2 Istio Mesh模型
5.4 Mixer模型
5.4.1 Mixer基本概念
5.4.2 Mixer通用配置模型
5.4.3 Mixer架构演进以及对性能的影响
5.5 Istio安全
5.5.1 Istio安全基础
5.5.2 Istio认证架构
5.6 Istio配置处理框架
5.6.1 配置验证
5.6.2 配置变更处理和分发
5.7 本章小结
第6章 Istio控制流设计
6.1 Envoy生命周期管理
6.1.1 Envoy注入
6.1.2 Envoy启动管理
6.1.3 Envoy配置和运行状态监控
6.2 Istio配置变更管理
6.2.1 通用模型和机制
6.2.2 Kubernetes具体实现
6.3 控制平面和数据平面的XDS交互
6.3.1 控制平面的gRPC Server启动
6.3.2 Envoy的XDS请求
6.3.3 Istio XDS配置下发
6.3.4 Envoy的XDS消息接收
6.4 XDS配置生成
6.4.1 可见性
6.4.2 配置生成机制
6.4.3 XDS配置生成实现
6.5 XDS配置的Envoy处理
6.5.1 XDS配置变更的判断
6.5.2 CDS配置的延迟处理
6.5.3 集群和节点配置处理
6.5.4 路由配置处理
6.5.5 监听器配置处理
6.6 本章小结
第7章 Istio数据流设计
7.1 Iptables
7.1.1 Iptables的基本原理
7.1.2 Iptables在Istio中的使用
7.2 监听管理
7.2.1 监听器建立
7.2.2 监听器和工作线程绑定
7.3 连接管理
7.3.1 监听器匹配
7.3.2 协议过滤器匹配
7.3.3 创建新连接
7.4 网络I/O和缓冲区管理
7.4.1 传输层数据读取
7.4.2 插件处理
7.5 Thrift协议处理
7.5.1 Thrift插件的整体架构
7.5.2 协议解析
7.5.3 协议相关的插件机制
7.6 HTTP请求处理
7.6.1 HTTP请求处理流程
7.6.2 协议解析
7.6.3 路由管理
7.6.4 HTTP过滤链处理
7.6.5 负载均衡
7.6.6 连接池实现
7.7 本章小结
第8章 Istio微服务治理
8.1 链路稳定性治理
8.1.1 超时机制
8.1.2 重试机制和重试策略
8.1.3 节点熔断和健康检查机制
8.1.4 资源限制机制
8.1.5 全局限流机制
8.2 链路可观测性
8.2.1 Envoy分布式跟踪支持
8.2.2 Envoy Metric支持
8.2.3 Envoy Log支持
8.3 本章小结
第9章 Service Mesh架构的工程化设计
9.1 复用和解耦
9.2 架构扩展机制
9.2.1 服务注册中心插件机制
9.2.2 Envoy Filter插件机制
9.3 性能设计
9.3.1 基于TLS的无锁设计
9.3.2 多级缓存机制
9.3.3 批量更新机制
9.4 架构设计的权衡
9.5 API和SDK设计
9.5.1 声明式API设计
9.5.2 代码自动生成机制
9.6 配置管理
9.6.1 基于Protobuf 3的配置Scheme描述
9.6.2 配置动态加载机制
9.7 本章小结
第10章 Service Mesh与云原生架构
10.1 Service Mesh和Serverless
10.1.1 Serverless基础
10.1.2 Knative
10.2 东西向和南北向通信的统一
10.3 云原生时代的Service Mesh
10.4 Service Mesh现状和展望
10.5 本章小结
附录 Service Mesh迁移的要点与原则
微服务之道:度量驱动开发
本书赞誉
前言
第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.5 土豆微服务案例快速上手
1.5.1 土豆微服务构建计划
1.5.2 微服务构建一:土豆管理微服务
1.5.3 微服务构建二:土豆提醒微服务
1.5.4 微服务构建三:土豆网页微服务
1.5.5 部署土豆微服务
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.1.3 协议分析
3.2 HTTP及其度量
3.2.1 HTTP简介
3.2.2 REST协议的度量要点
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.5.1 理论回顾
3.5.2 数据存储系统选型
3.5.3 数据存储系统特性
3.6 基于度量实现高可用性
3.6.1 分流——负载均衡
3.6.2 限流——速率控制
3.6.3 断流——熔断隔离
3.7 土豆微服务度量驱动的设计
3.7.1 为如何度量而设计
3.7.2 通过度量改进设计
3.8 本章小结
第4章 度量驱动的微服务实现
4.1 度量代码
4.1.1 代码度量标准
4.1.2 代码度量关键指标
4.1.3 小结
4.2 度量进度
4.3 度量性能
4.4 度量微服务的常用技术
4.4.1 利用切面记录度量日志
4.4.2 利用线程局部变量记录度量信息
4.4.3 利用过滤器找准度量点
4.4.4 提供JMX暴露内部度量指标
4.4.5 提供API或命令行接口暴露内部度量指标
4.4.6 阈值和采样率控制度量数据量
4.4.7 利用简单网络管理协议提供度量查询和报警支持
4.4.8 综合利用以上技术
4.5 度量常用类库
4.5.1 Dropwizard的Metrics-core
4.5.2 Pivotal的Micrometer
4.5.3 Spring Boot Actuator
4.6 土豆微服务度量实现
4.6.1 为土豆微服务提供代码度量
4.6.2 为土豆微服务添加健康检查API
4.6.3 为土豆微服务提供资源使用率度量
4.6.4 为土豆微服务提供使用量的度量
4.6.5 为土豆微服务提供性能度量
4.6.6 为土豆微服务提供错误度量
4.6.7 为土豆微服务提供业务KPI度量
4.7 本章小结
第5章 度量数据的聚合与展示
5.1 度量数据的聚合和存储
5.2 度量数据的清洗和处理
5.2.1 数据清洗的方法
5.2.2 数据清洗的案例
5.3 度量数据的可视化
5.3.1 图表的结构
5.3.2 图表的类型
5.3.3 如何选择图表
5.4 常用度量聚合与展示方案
5.4.1 TIG方案
5.4.2 ELKK方案
5.4.3 Collectd方案
5.4.4 Prometheus方案
5.5 土豆微服务的度量聚合与展示
5.5.1 土豆微服务支持多种度量聚合与展示系统的设计
5.5.2 基于TIG的土豆微服务度量聚合与展示
5.5.3 基于ELKK的土豆微服务度量聚合与展示
5.6 本章小结
第6章 度量数据的分析与报警
6.1 度量数据的分析
6.1.1 确定数据分析的目标
6.1.2 数据分析常见问题
6.2 实现报警常用的技术
6.2.1 Python数据分析技术栈
6.2.2 YAML配置文件
6.2.3 Elasticsearch API
6.2.4 Pandas DataFrame
6.2.5 Matplotlib
6.3 土豆微服务的报警实现
6.3.1 报警系统的设计
6.3.2 报警系统的实现
6.3.3 报警系统的优化
6.4 本章小结
第7章 度量驱动的运维
7.1 部署升级
7.1.1 何时能部署到产品线上
7.1.2 如何发布新功能
7.2 数据的运维
7.2.1 健康检查
7.2.2 度量报告
7.2.3 度量警告
7.2.4 故障处理
7.2.5 基于度量来发现和解决问题
7.3 配置调整
7.3.1 关于配置的思考
7.3.2 配置的版本管理
7.3.3 配置的载体
7.3.4 环境管理
7.3.5 配置微服务
7.3.6 配置管理实例
7.4 开源组件的度量
7.4.1 对Redis的度量
7.4.2 对Kafka的度量
7.4.3 对Cassandra的度量
7.5 土豆微服务的运维示例
7.6 本章小结
第8章 全链路度量
8.1 微服务的调用链路度量
8.1.1 3个关键信息
8.1.2 5个要点
8.1.3 3种标识
8.1.4 开源调用链分析方案
8.1.5 构建土豆微服务调用链的度量
8.2 客户端度量数据的采集
8.3 度量驱动开发的回顾与展望
8.4 本章小结
附录 常用的度量相关工具与软件库
Spring Cloud微服务架构进阶
前言
第1章 微服务架构介绍
1.1 微服务架构的出现
1.1.1 单体应用架构
1.1.2 SOA架构
1.1.3 微服务架构
1.2 微服务架构的流派
1.3 云原生与微服务
1.4 本章小结
第2章 Spring Cloud总览
2.1 Spring Cloud架构
2.2 Spring Cloud特性
2.2.1 Spring Cloud Context:应用上下文
2.2.2 Spring Cloud Commons:公共抽象
2.3 本章小结
第3章 Spring Cloud的基础:Spring Boot
3.1 Spring Boot简介
3.2 构建一个微服务
3.3 Spring Boot配置文件
3.3.1 默认配置文件
3.3.2 外部化配置
3.3.3 YAML
3.3.4 自动载入外部属性到Bean
3.3.5 多Profile
3.3.6 Starter
3.3.7 自制一个Starter
3.3.8 Actuator
3.4 本章小结
第4章 服务注册与发现:Eureka
4.1 基础应用
4.1.1 Eureka简介
4.1.2 搭建Eureka服务注册中心
4.1.3 搭建Eureka服务提供者
4.1.4 搭建Eureka服务调用者
4.1.5 Eureka服务注册和发现
4.1.6 Consul的简单应用
4.2 服务发现原理
4.3 Eureka Client源码解析
4.3.1 读取应用自身配置信息
4.3.2 服务发现客户端
4.3.3 拉取注册表信息
4.3.4 服务注册
4.3.5 初始化定时任务
4.3.6 服务下线
4.4 Eureka Server源码解析
4.4.1 服务实例注册表
4.4.2 服务注册
4.4.3 接受服务心跳
4.4.4 服务剔除
4.4.5 服务下线
4.4.6 集群同步
4.4.7 获取注册表中服务实例信息
4.5 进阶应用
4.5.1 Eureka Instance和Client的元数据
4.5.2 状态页和健康检查页端口设置
4.5.3 区域与可用区
4.5.4 高可用性服务注册中心
4.6 本章小结
第5章 声明式RESTful客户端:Spring Cloud OpenFeign
5.1 基础应用
5.1.1 微服务之间的交互
5.1.2 OpenFeign简介
5.1.3 代码示例
5.2 源码分析
5.2.1 核心组件与概念
5.2.2 动态注册BeanDefinition
5.2.3 实例初始化
5.2.4 函数调用和网络请求
5.3 进阶应用
5.3.1 Decoder与Encoder的定制化
5.3.2 请求/响应压缩
5.4 本章小结
第6章 断路器:Hystrix
6.1 基础应用
6.1.1 RestTemplate与Hystrix
6.1.2 OpenFeign与Hystrix
6.2 Hystrix原理
6.2.1 服务雪崩
6.2.2 断路器
6.2.3 服务降级操作
6.2.4 资源隔离
6.2.5 Hystrix实现思路
6.3 源码解析
6.3.1 封装HystrixCommand
6.3.2 HystrixCommand类结构
6.3.3 异步回调执行命令
6.3.4 异步执行命令和同步执行命令
6.3.5 断路器逻辑
6.3.6 资源隔离
6.3.7 请求超时监控
6.3.8 失败回滚逻辑
6.4 进阶应用
6.4.1 异步与异步回调执行命令
6.4.2 继承HystrixCommand
6.4.3 请求合并
6.5 本章小结
第7章 客户端负载均衡器:Spring Cloud Netflix Ribbon
7.1 负载均衡
7.2 基础应用
7.3 源码分析
7.3.1 配置和实例初始化
7.3.2 与OpenFeign的集成
7.3.3 负载均衡器LoadBalancerClient
7.3.4 ILoadBalancer
7.3.5 负载均衡策略实现
7.4 进阶应用
7.4.1 Ribbon API
7.4.2 使用Netty发送网络请求
7.4.3 只读数据库的负载均衡实现
7.5 本章小结
第8章 API网关:Spring Cloud Gateway
8.1 Spring Cloud Gateway介绍
8.2 基础应用
8.2.1 用户服务
8.2.2 网关服务
8.2.3 客户端的访问
8.3 源码解析
8.3.1 初始化配置
8.3.2 网关处理器
8.3.3 路由定义定位器
8.3.4 路由定位器
8.3.5 路由断言
8.3.6 网关过滤器
8.3.7 全局过滤器
8.3.8 API端点
8.4 应用进阶
8.4.1 限流机制
8.4.2 熔断降级
8.4.3 网关重试过滤器
8.5 本章小结
第9章 配置中心:Spring Cloud Config
9.1 基础应用
9.1.1 配置客户端
9.1.2 配置仓库
9.1.3 服务端
9.1.4 配置验证
9.1.5 配置动态更新
9.2 源码解析
9.2.1 配置服务器
9.2.2 配置客户端
9.3 应用进阶
9.3.1 为Config Server配置多个repo
9.3.2 客户端覆写远端的配置属性
9.3.3 属性覆盖
9.3.4 安全保护
9.3.5 加密解密
9.3.6 快速响应失败与重试机制
9.4 本章小结
第10章 消息驱动:Spring Cloud Stream
10.1 消息队列
10.2 基础应用
10.2.1 声明和绑定通道
10.2.2 自定义通道
10.2.3 接收消息
10.2.4 配置
10.3 源码分析
10.3.1 动态注册BeanDefinition
10.3.2 绑定服务
10.3.3 获取绑定器
10.3.4 绑定生产者
10.3.5 消息发送的流程
10.3.6 StreamListener注解的处理
10.3.7 绑定消费者
10.3.8 消息的接收
10.4 进阶应用
10.4.1 Binder For RocketMQ
10.4.2 多实例
10.4.3 分区
10.5 本章小结
第11章 消息总线:Spring Cloud Bus
11.1 基础应用
11.1.1 配置服务器
11.1.2 配置客户端
11.1.3 结果验证
11.2 源码解析
11.2.1 事件的定义与事件监听器
11.2.2 消息的订阅与发布
11.2.3 控制端点
11.3 应用进阶
11.3.1 在自定义的包中注册事件
11.3.2 自定义监听器
11.3.3 事件的发起者
11.4 本章小结
第12章 认证与授权:Spring Cloud Security
12.1 基础应用
12.1.1 OAuth2简介
12.1.2 JWT
12.1.3 搭建授权服务器
12.1.4 配置资源服务器
12.1.5 访问受限资源
12.2 整体架构
12.3 源码解析
12.3.1 安全上下文
12.3.2 认证
12.3.3 授权
12.3.4 Spring Security中的过滤器与拦截器
12.3.5 授权服务器
12.3.6 资源服务器
12.3.7 令牌中继机制
12.4 进阶应用
12.4.1 Spring Security定制
12.4.2 OAuth2定制
12.4.3 SSO单点登录
12.5 本章小结
第13章 服务链路追踪:Spring Cloud Sleuth
13.1 链路监控组件简介
13.2 基础应用
13.2.1 特性
13.2.2 项目准备
13.2.3 Spring Cloud Sleuth独立实现
13.2.4 集成Zipkin
13.3 本章小结
阿里云运维架构实践秘籍
推荐序
前言
绪言 云计算带来的技术变革
第一篇 云端选型篇
第1章 云平台的选型
1.1 全球云厂商占比
1.2 国内云厂商的现状
1.2.1 阿里云
1.2.2 腾讯云
1.2.3 华为云
1.2.4 百度云
1.2.5 其他云厂商
第2章 云产品的选型
2.1 阿里云产品概要
2.2 云产品的8/2选择原则
2.2.1 五个技术优势
2.2.2 两个非技术优势
2.2.3 选择自建环境的条件
第3章 软件技术选型
3.1 “宇宙最火”的语言
3.2 硬件的天下
3.3 “后台强大”的语言
3.4 “胶水语言”
3.5 “世界上最好”的语言
3.6 最适合高并发的语言
3.7 唯一的前后端语言
3.8 不可替代的机器语言
第4章 系统技术选型
4.1 云端网络的三种选型策略
4.1.1 策略一:网络类型选型的五个注意点
4.1.2 策略二:入网请求选型的四种方法
4.1.3 策略三:出网请求选型的三种方法
4.2 云端Web服务器的五点选型考虑
4.2.1 考虑一:稳定性
4.2.2 考虑二:性能
4.2.3 考虑三:对负载均衡功能的支持
4.2.4 考虑四:前端静态数据缓存
4.2.5 考虑五:丰富的插件及支持灵活的二次开发
4.3 云端负载均衡选型的五个方面
4.3.1 对比方面:四大热门负载均衡的优缺点
4.3.2 分类方面:五大类型负载均衡的原理场景详解
4.3.3 演变方面:负载均衡的两种演变
4.3.4 性能方面:负载均衡隐藏的性能秘密
4.3.5 选型方面:云端负载均衡的两种选型
4.4 云端存储的四种类型
4.4.1 类型一:块存储
4.4.2 类型二:共享块存储
4.4.3 类型三:共享文件存储
4.4.4 类型四:对象存储
4.5 云端缓存的两大选型秘籍
4.5.1 秘籍一:云端静态缓存唯一的选型
4.5.2 秘籍二:云端动态缓存唯一的选型
4.6 云端数据库选型的三个方面
4.6.1 分类方面:数据库的三大分类
4.6.2 性能方面:数据库的性能秘密
4.6.3 选型方面:云端数据库选型的两点考虑及一个步骤
第5章 配置选型
5.1 衡量业务量的指标
5.1.1 一台Tomcat跑两亿PV的笑话
5.1.2 衡量业务量的指标
5.2 业务访问量与性能压力指标的转换
5.2.1 指标转换原理
5.2.2 性能指标转换计算模型实践
5.2.3 业务指标转换计算模型实践
5.3 云端服务器配置模型
5.3.1 PV量对应的服务器配置
5.3.2 服务器CPU/内存配置模型
5.4 云端带宽配置选型
5.4.1 带宽配置估算模型
5.4.2 带宽类型选择的8/2原则
第二篇 云端实践篇
第6章 云主机实践
6.1 云网络下的业务新架构
6.2 云的技术本质优势
6.2.1 云主机与硬件服务器性能对比的误区
6.2.2 云的本质优势在于分布式架构
6.3 云时代下的资源自动化管理
第7章 云端负载均衡实践
7.1 “1+1>2”经典架构
7.2 单机+SLB架构的必要性
7.3 被LBHA误导的架构
7.4 DNS的两大主流实践
7.4.1 实践一:不推荐DNS作为负载均衡的误区
7.4.2 实践二:DNS不为人知的核心秘密功能
7.5 企业级Web架构实践
7.6 企业级负载均衡架构实践
7.6.1 七层SLB性能实践案例
7.6.2 互联网企业负载均衡架构实践
7.6.3 云端负载均衡中小型架构实践
7.6.4 云端负载均衡中大型架构实践
7.7 通过代理+VPN提速跨国际网络访问
7.7.1 跨国际网络访问的延时问题
7.7.2 解决跨国际网络访问的代理架构
7.8 通过反向代理提速跨国际网站访问
7.8.1 方案一:双域名反向代理架构方案
7.8.2 方案二:单域名反向代理架构方案
第8章 云端存储实践
8.1 云端块存储八大实践技巧
8.1.1 提升云盘I/O的三大技巧
8.1.2 云盘使用的五大技巧
8.2 云端共享文件存储的五种方法
8.2.1 方法一:Rsync文件共享实践
8.2.2 方法二:Rsync+Inotify文件共享实践
8.2.3 方法三:NFS文件共享实践
8.2.4 方法四:NAS文件共享实践
8.2.5 方法五:OSS文件共享实践
8.3 OSS文件管理的六大技巧
8.3.1 技巧一:使用API接口/SDK管理OSS
8.3.2 技巧二:使用阿里云管理控制台管理OSS
8.3.3 技巧三:使用图形化工具管理OSS
8.3.4 技巧四:使用本地文件系统挂载管理OSS
8.3.5 技巧五:使用FTP管理OSS
8.3.6 技巧六:使用命令行工具管理OSS
8.4 四招搞定OSS数据迁移
8.4.1 第一招:OSSImport工具
8.4.2 第二招:OSS在线迁移服务
8.4.3 第三招:跨区域复制
8.4.4 第四招:OSS离线迁移
8.5 运维容灾备份新篇章
第9章 云端缓存实践
9.1 使用静态缓存提升网站性能的四种方法
9.1.1 方法一:浏览器缓存
9.1.2 方法二:磁盘缓存
9.1.3 方法三:内存缓存
9.1.4 方法四:CDN(动静分离)
9.2 动态缓存的三种应用场景实践
9.2.1 场景一:数据库缓存
9.2.2 场景二:集中Session管理的六种策略
9.2.3 场景三:四招搞定动态页面缓存
第10章 云端数据库实践
10.1 垂直拆库三大应用场景实践
10.1.1 场景一:垂直拆库的应用实践
10.1.2 场景二:主从的四种实践方案
10.1.3 场景三:集群技术的应用实践
10.2 水平拆表三大应用场景实践
10.2.1 场景一:业务层水平分区拆表的三种方式
10.2.2 场景二:数据库层次水平分区拆表的方法
10.2.3 场景三:四大成熟分布式Sharding技术方案
第11章 云端运维实践
11.1 上云迁移的实践
11.1.1 上云的诉求
11.1.2 前期技术调研
11.1.3 三大运维痛点
11.1.4 上云迁移的挑战性
11.1.5 七步搞定上云迁移
11.1.6 上云前后的对比
11.2 混合云八大运维架构实践
11.2.1 混合云实践1:基于VPC+专线构建混合云架构
11.2.2 混合云实践2:RDS自建主从同步在混合云中的实践
11.2.3 混合云实践3:MongoDB副本集在混合云中的实践
11.2.4 混合云实践4:RabbitMQ+SLB高可用实践
11.2.5 混合云实践5:云端自建DNS实践
11.2.6 混合云实践6:Redis主从+Sentinel+Consul+DNSmasq高可用实践
11.2.7 混合云实践7:MySQL主从+Consul+DNSmasq高可用实践
11.2.8 混合云实践8:关于DNS的高可用
11.3 云端运维架构五大优化
11.3.1 优化一:云端配置选型
11.3.2 优化二:云端网络架构
11.3.3 优化三:云端负载均衡的选择
11.3.4 优化四:云端静态资源访问
11.3.5 优化五:云端运维管理
第12章 云端监控实践
12.1 物理机体系:三大监控方案实践
12.1.1 监控方案一:Shell/Python
12.1.2 监控方案二:Nagios
12.1.3 监控方案三:Nagios+Cacti
12.2 云计算体系:四大监控方案实践
12.2.1 监控方案四:Zabbix
12.2.2 监控方案五:云监控
12.2.3 监控方案六:驻云监控1.0(集群监控)
12.2.4 监控方案七:驻云监控2.0(自动化监控)
12.3 容器体系:四大监控方案实践
12.3.1 监控方案八:Prometheus+Alertmanager+Grafana
12.3.2 监控方案九:TICK技术栈
12.3.3 监控方案十:驻云监控3.0(容器体系监控)
12.3.4 监控方案十一:驻云监控3.1(智能监控)
第13章 云端容器/DevOps实践
13.1 云端容器技术的十二大实践
13.1.1 容器实践1:关于云端容器资源编排技术的选择
13.1.2 容器实践2:结合K8S的DevOps流程
13.1.3 容器实践3:关于K8S集群的配置
13.1.4 容器实践4:K8S云端部署架构
13.1.5 容器实践5:K8S插件之DNS
13.1.6 容器实践6:容器的Web管理控制台
13.1.7 容器实践7:K8S业务应用+自建DNS实践
13.1.8 容器实践8:K8S Master节点高可用
13.1.9 容器实践9:K8S Node节点高可用
13.1.10 容器实践10:K8S部署架构优化
13.1.11 容器实践11:自建K8S迁移阿里云K8S托管版+Rancher
13.1.12 容器实践12:K8S监控实践
13.2 DevOps发展的四个阶段
13.2.1 人工阶段
13.2.2 脚本及工具阶段
13.2.3 平台化阶段
13.2.4 智能化阶段
第三篇 云端安全篇
第14章 云端安全面临的挑战和机遇
14.1 云端安全问题的现状
14.2 云端安全面临的三大挑战
14.2.1 挑战一:安全行业状态不容乐观
14.2.2 挑战二:云端安全环境复杂化的挑战
14.2.3 挑战三:安全对云优势的冲击
14.3 云端安全带来的两大机遇
14.3.1 机遇一:云计算、大数据将成为安全体系的基础核心保障
14.3.2 机遇二:政策驱动叠加,使得行业将迎来爆发
第15章 云端黑客常见攻击
15.1 什么是黑客
15.2 黑客入侵的途径:漏洞
15.3 黑客入侵流程
15.4 黑客常见系统层攻击
15.5 黑客常见应用层攻击
15.6 黑客常见网络层攻击
第16章 云端安全最佳防御方案
16.1 云端常见黑客攻击的防御
16.1.1 四款热门的云端安全产品
16.1.2 安骑士、WAF、态势感知三大使用误区
16.1.3 DDoS和WAF三大实践技巧
16.2 云端安全架构四大策略实践
16.2.1 策略一:云平台架构模式选择
16.2.2 策略二:分布式架构是安全保障的基石
16.2.3 策略三:全面开启云产品的安全机制
16.2.4 策略四:基于VPC的企业级安全架构
16.3 云端运维安全实践十则
16.3.1 第一则:云端堡垒机的三种实践
16.3.2 第二则:运维用户管理
16.3.3 第三则:密码安全管理
16.3.4 第四则:防火墙安全管理
16.3.5 第五则:端口安全管理
16.3.6 第六则:云端开源WAF实践
16.3.7 第七则:云端数据安全传输的标准
16.3.8 第八则:运维安全性能调优的三种方法
16.3.9 第九则:通过冷备及热备进一步保障云端数据安全性
16.3.10 第十则:加强安全巡检及安全培训管理
16.4 云端防御综合案例总结
第四篇 云端架构篇
第17章 云端千万级架构的演变
17.1 架构原始阶段:万能的单机
17.2 架构基础阶段:物理分离Web和数据库
17.3 架构动静分离阶段:静态缓存+对象存储
17.4 架构分布式阶段:负载均衡
17.5 架构数据缓存阶段:数据库缓存
17.6 架构扩展阶段:垂直扩展
17.7 架构分布式+大数据阶段:水平扩展
第18章 云端架构的应用
18.1 云端电商架构应用
18.1.1 业务特点:活动
18.1.2 业务特点:商品图片
18.2 云端游戏架构应用
18.3 云端移动社交架构应用
18.4 云端金融架构应用
Prometheus监控技术与实践
前言
勘误和支持
致谢
第一部分 概述
第1章 云计算时代的监控系统
1.1 云计算时代的应用系统
1.1.1 企业“IT云化”实现数字化转型
1.1.2 云计算时代的IT架构特点
1.1.3 云计算时代的IT管理变革
1.2 云计算监控的目标和挑战
1.2.1 云计算监控目标
1.2.2 云计算监控挑战
1.3 云计算监控的范围和架构
1.3.1 监控管理的范围
1.3.2 监控系统的基本架构
1.4 百花齐放的开源监控软件工具
1.4.1 监控系统成熟度
1.4.2 Zabbix
1.4.3 OpenTSDB
1.5 Prometheus监控系统
1.5.1 应运而生,茁壮成长
1.5.2 功能完善、监控所有层级指标
1.5.3 开放、高效、易用的完整解决方案
1.6 本章小结
更多阅读材料
第2章 Prometheus基本概念及部署
2.1 Prometheus架构
2.2 Prometheus快速部署
2.2.1 使用二进制文件快速部署
2.2.2 使用Docker快速安装
2.2.3 Prometheus Web UI
2.3 Prometheus相关概念
2.3.1 数据模型
2.3.2 Metric的四种类型
2.3.3 Jobs和Instances
2.4 Prometheus核心组件
2.5 本章小结
第二部分 Prometheus技术基础
第3章 Exporter
3.1 概述
3.1.1 Exporter类型
3.1.2 文本数据格式
3.1.3 获取Exporter
3.2 主机监控
3.2.1 Linux主机监控
3.2.2 Windows主机监控
3.3 数据库监控
3.3.1 MySQL Server exporter
3.3.2 Redis exporter
3.4 Nginx监控
3.5 Prometheus之黑盒监控
3.5.1 软件安装与部署
3.5.2 配置文件
3.6 本章小结
更多阅读材料
第4章 服务发现
4.1 基于文件的服务发现
4.2 基于Consul的服务发现
4.2.1 Consul体验应用信息
4.2.2 软件下载与部署
4.2.3 服务注册发现
4.2.4 与Prometheus集成
4.3 基于DNS的服务发现
4.3.1 自建DNS服务SRV记录设置
4.3.2 阿里云域名解析SRV记录设置
4.4 Relabelling
4.5 本章小结
第5章 PromQL
5.1 时序数据库
5.2 PromQL简介
5.2.1 数据模型与数据类型
5.2.2 时间序列选择器
5.3 PromQL聚合操作
5.4 PromQL运算符
5.4.1 算术运算符
5.4.2 关系运算符
5.4.3 向量匹配
5.4.4 逻辑运算符
5.4.5 运算符优先级
5.5 PromQL函数
5.5.1 数学函数
5.5.2 时间函数
5.5.3 标签操作函数
5.5.4 Counter指标增长率
5.5.5 Gauge指标趋势变化预测
5.6 PromQL查询分析
5.6.1 指标分析
5.6.2 PromQL操作分析
5.7 本章小结
更多阅读材料
第6章 告警处理
6.1 概述
6.2 Alertmanager部署
6.2.1 Alertmanager机制
6.2.2 使用二进制文件方式安装
6.2.3 使用Docker安装
6.3 Alertmanager配置
6.3.1 global
6.3.2 templates
6.3.3 route
6.3.4 receivers
6.3.5 inhibit_rules
6.4 Prometheus告警规则
6.4.1 与Alertmanager关联
6.4.2 告警规则
6.4.3 使用模板
6.5 告警接收器
6.5.1 Email接收告警
6.5.2 企业微信接收告警
6.5.3 基于Webhook的钉钉接收告警
6.5.4 告警通知模板
6.6 告警临时静默
6.7 本章小结
更多阅读材料
第7章 可视化
7.1 概述
7.2 Grafana安装
7.2.1 在CentOS上安装
7.2.2 在Windows上安装
7.2.3 使用Docker安装
7.3 Grafana基本概念
7.4 Prometheus数据源
7.4.1 数据源添加
7.4.2 页面UI说明
7.5 仪表盘导入
7.5.1 Node Exporter仪表盘
7.5.2 Windows Node仪表盘
7.5.3 MySQL仪表盘
7.5.4 Redis仪表盘
7.5.5 Nginx仪表盘
7.5.6 Blackbox Exporter仪表盘
7.6 定制监控图表
7.6.1 定制仪表盘
7.6.2 定制面板
7.7 本章小结
更多阅读材料
第8章 Pushgateway
8.1 概述
8.2 Pushgateway集成
8.2.1 软件下载与部署
8.2.2 Pushgateway UP状态
8.3 Pushgateway数据管理
8.3.1 向Pushgateway发送和查看监控指标
8.3.2 删除Pushgateway中的监控标准
8.3.3 基于推送的Prometheus监控
8.4 本章小结
第三部分 监控综合实践
第9章 OpenStack云计算监控
9.1 OpenStack监控架构
9.2 OpenStack Exporter
9.2.1 OpenStack Exporter部署
9.2.2 OpenStack监控可视化
9.3 OpenStack Helm监控
9.3.1 基于OpenStack Helm部署Prometheus
9.3.2 基于OpenStack Helm部署Grafana
9.4 本章小结
更多阅读材料
第10章 Docker容器监控
10.1 Docker容器架构与监控
10.1.1 Docker容器架构
10.1.2 Docker容器监控方式
10.1.3 cAdvisor架构及分析
10.2 部署cAdvisor容器监控
10.2.1 安装与运行cAdvisor
10.2.2 cAdvisor结果输出
10.2.3 cAdvisor常用搭配方案
10.2.4 集成Prometheus
10.2.5 集成Grafana实时显示
10.3 本章小结
更多阅读材料
第11章 Kubernetes监控
11.1 Prometheus与Kubernetes完美结合
11.2 在Kubernetes上部署Prometheus的传统方式
11.2.1 Kubernetes部署Prometheus
11.2.2 Kubernetes部署kube-state-metrics
11.2.3 Kubernetes部署node-exporter
11.2.4 Kubernetes部署Grafana
11.3 通过Operator方式部署Prometheus
11.4 服务配置
11.4.1 静态配置
11.4.2 服务发现配置
11.5 监控对象
11.5.1 容器监控
11.5.2 kube-apiserver监控
11.5.3 kube-state-metrics监控
11.5.4 主机监控
11.6 数据展现
11.6.1 在Kubernetes集群中安装Grafana
11.6.2 配置Grafana
11.6.3 集成Grafana展示数据
11.7 告警
11.7.1 安装Alertmanager
11.7.2 告警规则
11.7.3 微信告警
11.8 本章小结
更多阅读材料
第12章 微服务及业务监控
12.1 微服务监控
12.1.1 微服务架构模式
12.1.2 以服务为中心的监控
12.1.3 微服务监控的关键指标
12.2 构建Spring Boot微服务监控
12.2.1 Spring Boot监控架构
12.2.2 配置加载Actuator监控组件
12.2.3 使用io.micrometer构建监控指标
12.3 业务监控与运营指标
12.3.1 业务运营指标
12.3.2 业务量类指标
12.3.3 构建运营指标体系
12.4 在Spring Boot自定义Metrics
12.4.1 扩展Spring Boot支持监控埋点
12.4.2 自定义Metrics监控指标
12.4.3 使用Collector导出业务指标
12.5 本章小结
更多阅读材料
第13章 日志监控的设计与实现
13.1 概述
13.2 mtail日志监控
13.2.1 mtail安装与使用
13.2.2 mtail运行与输出
13.2.3 mtail与Prometheus、Grafana集成
13.2.4 处理Web服务器访问日志
13.2.5 集成mtail定制caching_exporter
13.2.6 nginx-prometheus-exporter
13.3 Fluentd日志监控
13.3.1 Fluentd系统架构
13.3.2 Fluentd的Prometheus监控插件
13.3.3 用Prometheus监控Fluentd
13.3.4 与Prometheus集成配置
13.4 grok_exporter日志监控
13.5 本章小结
更多阅读材料
第14章 Prometheus监控系统生产部署
14.1 最佳实践原则
14.2 数据存储
14.2.1 本地存储
14.2.2 远端存储
14.3 构建联邦集群系统
14.4 Thanos集群解决方案
14.4.1 Thanos集群架构
14.4.2 部署Thanos监控集群
14.4.3 Thanos远程存储
14.5 Alertmanager高可用
14.5.1 Gossip机制
14.5.2 搭建本地集群环境
14.6 Prometheus自动化部署
14.6.1 使用Ansible部署Prometheus监控系统
14.6.2 设计role组件
14.6.3 参数调整与部署
14.7 在监控中实现异常检测
14.8 本章小结
更多阅读材料
是否关闭自动购买?
关闭后,阅读到本书未购买章节均需要手动购买确认。
取消
关闭
架构不再难(全5册)
已读到0% · 共0条笔记
你可以在这里记录本书的
想法、划线、书签
点评此书
推荐
一般
不行
书友想法
仅支持付费会员使用
微信扫码开通付费会员
仅支持付费会员使用
微信扫码开通付费会员