3.3 用户推荐指数
可以朗读
语音朗读
150千字
字数
2022-05-01
发行日期
展开全部
主编推荐语
全方位讲解高可用架构8大热点主题,全流程实践高可用秒杀系统解决方案。
内容简介
本书从开发高可用系统需要具备的理论知识出发,逐步讲解应用的高可用、数据库高可用、缓存高可用、Nginx/LVS高可用、异地多活、全链路监控/告警、高可用与安全、高可用在秒杀系统中的应用等内容,书中同时提供了大量有价值的解决方案,可直接用于开发实践。
本书理论与实践并重,适合具有一定Java开发经验的人员,或者想从程序员进阶为架构师的开发人员阅读。
目录
- 版权信息
- 作者简介
- 内容简介
- 前言
- 第1章 理解高可用
- 1.1 什么是可用性
- 1.1.1 SLA与可用性
- 1.1.2 影响高可用的因素
- 1.1.3 高可用策略
- 1.1.4 高可用和高可靠
- 1.2 FMEA理论
- 1.3 集群与分布式
- 1.3.1 什么是集群与分布式
- 1.3.2 分布式架构
- 1.4 高可用之CAP理论
- 1.4.1 CAP理论
- 1.4.2 ACID理论
- 1.4.3 两阶段提交
- 1.4.4 补偿事务TCC
- 1.4.5 BASE理论
- 1.5 高可用之选举算法
- 1.5.1 霸道选举算法
- 1.5.2 Raft选举算法
- 1.5.3 ZAB选举算法
- 1.6 高可用之共识算法
- 1.6.1 Paxos算法
- 1.6.2 Multi-Paxos算法
- 1.6.3 Raft算法
- 1.7 高可用之一致性算法
- 1.7.1 一致性分类
- 1.7.2 Gossip协议(最终一致性)
- 1.7.3 Quorum NWR算法
- 1.7.4 Quorum NWR的应用
- 1.7.5 Raft日志一致性
- 第2章 应用的高可用
- 2.1 软件质量对高可用的影响
- 2.1.1 影响写出高质量代码的原因
- 2.1.2 代码重构
- 2.1.3 代码审查概述
- 2.1.4 人工代码审查
- 2.1.5 代码自动检查
- 2.2 优雅关闭
- 2.2.1 Java优雅关闭
- 2.2.2 Spring Boot微服务优雅关闭
- 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.5.3 退避策略
- 2.5.4 重试熔断策略
- 2.5.5 链路重试熔断
- 2.5.6 重试超时
- 2.6 幂等
- 2.6.1 非幂等原因
- 2.6.2 幂等定义
- 2.6.3 幂等场景
- 2.6.4 幂等解决方案
- 2.7 健康检查
- 2.7.1 Spring Boot Actuator健康检查
- 2.7.2 Nacos健康检查
- 2.8 流量削峰
- 2.8.1 为何要削峰
- 2.8.2 答题/验证码
- 2.8.3 分时分段
- 2.8.4 禁用“秒杀”按钮
- 2.8.5 分层过滤
- 2.8.6 消息队列
- 2.9 负载均衡
- 2.9.1 负载均衡算法
- 2.9.2 负载均衡的实现
- 2.10 限流
- 2.10.1 限流概述
- 2.10.2 限流算法
- 2.10.3 Sentinel中的匀速排队限流策略
- 2.11 降级
- 2.11.1 服务降级概述
- 2.11.2 服务降级开关
- 2.11.3 自动降级
- 2.11.4 读服务降级
- 2.11.5 写服务降级
- 2.12 熔断
- 2.12.1 熔断概述
- 2.12.2 熔断实现
- 2.12.3 案例:Hystrix的工作流程
- 2.13 故障检测
- 2.13.1 固定心跳
- 2.13.2 心跳设计
- 2.13.3 TCP Keepalive
- 2.13.4 MQTT Keepalive
- 2.14 故障隔离
- 2.14.1 故障隔离概述
- 2.14.2 故障隔离策略
- 2.15 集群容错
- 2.15.1 失败转移
- 2.15.2 失败自动恢复
- 2.15.3 失败安全策略
- 2.15.4 快速失败
- 2.16 集群部署
- 2.16.1 停机部署
- 2.16.2 蓝绿部署
- 2.16.3 滚动发布
- 2.16.4 灰度发布/金丝雀部署
- 2.16.5 无损发布
- 第3章 数据库高可用
- 3.1 数据库高可用概述
- 3.1.1 数据库高可用的重要性
- 3.1.2 MySQL XA协议
- 3.2 双节点
- 3.2.1 主从模式实现读写分离
- 3.2.2 读写分离实现方案
- 3.2.3 SQL语句执行过程
- 3.2.4 MySQL日志模块
- 3.2.5 主从数据同步
- 3.3 MySQL高可用架构
- 3.3.1 MySQL高可用架构MMM
- 3.3.2 基于MHA实现MySQL自动故障转移
- 3.3.3 MySQL Cluster架构
- 3.3.4 MySQL+DRDB + Heartbeat架构
- 3.3.5 云数据库高可用架构
- 3.4 案例:MySQL一主多从数据同步
- 第4章 缓存高可用
- 4.1 缓存概述
- 4.2 缓存高可用概述
- 4.3 客户端分区方案
- 4.4 中间代理层方案
- 4.4.1 中间代理层概述
- 4.4.2 Codis架构
- 4.5 服务端方案
- 4.5.1 主从模式
- 4.5.2 哨兵模式
- 4.5.3 Redis集群模式
- 4.5.4 Codis和Redis集群的区别
- 4.5.5 云数据库Redis
- 第5章 Nginx/LVS高可用
- 5.1 Nginx
- 5.1.1 Nginx概述
- 5.1.2 Nginx+Keepalived保障高可用
- 5.2 LVS
- 5.2.1 LVS概述
- 5.2.2 Nginx+Keepalived+LVS保障高可用、高性能
- 5.3 DNS
- 5.3.1 DNS概述
- 5.3.2 DNS解析过程
- 5.3.3 DNS负载均衡
- 5.3.4 DNS+LVS+Nginx+Keepalived
- 第6章 异地多活
- 6.1 异地多活概述
- 6.2 异地多活的类型
- 第7章 高可用之全链路监控、告警
- 7.1 监控/告警概述
- 7.1.1 监控/告警的意义
- 7.1.2 全链路监控
- 7.1.3 告警规则
- 7.1.4 发送告警
- 7.1.5 监控系统通用设计
- 7.1.6 监控体系案例
- 7.2 日志监控/告警方案
- 7.2.1 ELK日志系统
- 7.2.2 日志告警
- 7.3 资源监控/告警方案
- 7.3.1 监控概述
- 7.3.2 Promethous+Grafana+InfluxDB
- 7.3.3 其他开源监控
- 7.3.4 AlertManager告警
- 7.4 链路追踪监控
- 第8章 高可用与安全
- 8.1 高可用与安全概述
- 8.2 DoS/DDos攻击
- 8.2.1 DoS攻击概述
- 8.2.2 DDoS攻击的类型
- 8.2.3 DoS/DDoS攻击防护
- 8.3 安全产品/工具
- 8.3.1 WAF概述
- 8.3.2 WAF的工作模式
- 8.3.3 Nginx + ModSecurity
- 8.3.4 云厂商安全产品
- 第9章 秒杀系统案例
- 9.1 什么是秒杀
- 9.2 最简单的秒杀系统
- 9.3 业务层面控制
- 9.4 CDN静态资源缓存
- 9.5 LVS/Nginx高可用设计
- 9.6 服务拆分与隔离设计
- 9.7 流量削峰、限流和降级
- 9.8 热点数据处理
- 9.9 核心的减库存
- 9.10 容灾
- 9.11 秒杀系统安全架构
- 参考文献
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。