网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 亿级流量系统架构设计与实战 |
分类 | 教育考试-考试-计算机类 |
作者 | |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 内容推荐 本书讲解亿级流量系统架构的设计方法及实战经验,在内容结构上分为三大篇:架构知识篇(第1~3章),主要讲解海量用户应用后台的组成结构、高并发处理和服务可用性保障,首先讲解后台由哪些关键组件构成及机房搭建思路,然后讲解后台在应对高并发读请求和写请求时的通用处理手段,最后讲解通用的服务治理手段以保障后台高效运行。基础服务设计篇(第4~6章),主要讲解几个基础服务的架构设计,这里选取的基础服务几乎为所有互联网后台所需的专门系统,包括分布式唯一ID生成器、用户登录服务和海量消息推送系统;核心服务设计篇(第7~13章),主要讲解常见社交互动场景中所需的核心服务的架构设计,包括内容发布系统、通用计数系统、排行榜服务、用户关系服务、Timeline Feed服务、评论服务和IM服务。 目录 架构知识篇 第1章 大型互联网公司的基础架构 1.1 引言:单机房的内部架构 1.2 客户端连接机房的技术1:DNS 1.2.1 DNS的意义 1.2.2 域名结构 1.2.3 域名服务器 1.2.4 域名解析过程 1.3 客户端连接机房的技术2:HTTP DNS 1.3.1 DNS存在的问题 1.3.2 HTTP DNS的原理 1.3.3 HTTP DNS实践 1.4 接入层的技术演进 1.4.1 Nginx 1.4.2 LVS 1.4.3 LVS+Nginx接入层的架构 1.5 服务发现 1.5.1 注册与发现 1.5.2 可用地址管理 1.5.3 地址变更推送 1.6 RPC服务 1.7 存储层技术:MySQL 1.7.1 关系型数据库 1.7.2 MySQL 1.7.3 高可用架构1:主从模式 1.7.4 高可用架构2:MHA 1.7.5 高可用架构3:MMM 1.7.6 高可用架构4:MGR 1.8 存储层技术:Redis 1.8.1 高可用架构1:主从模式 1.8.2 高可用架构2:哨兵模式 1.8.3 高可用架构3:集群模式 1.8.4 高可用架构4:中心化集群架构 1.9 存储层技术:LSM Tree 1.9.1 LSM Tree的原理 1.9.2 读/写数据流程 1.10 存储层技术:其他NoSQL数据库 1.11 消息中间件技术 1.11.1 通信模式与用途 1.11.2 Kafka 1.11.3 Kafka的高可用 1.12 多机房:主备机房 1.13 多机房:同城双活 1.13.1 存储层改造 1.13.2 灵活实施 1.13.3 分流与故障切流 1.13.4 两地三中心 1.14 多机房:异地多活 1.14.1 架构要点 1.14.2 MySQL DRC的原理 1.14.3 Redis DRC的原理 1.14.4 分流策略 1.14.5 数据复制链路 1.15 本章小结 第2章 通用的高并发架构设计 2.1 高并发架构设计的要点 2.1.1 形成高并发系统的必要条件 2.1.2 高并发系统的衡量指标 2.1.3 高并发场景分类 2.2 高并发读场景方案1:数据库读/写分离 2.2.1 读/写分离架构 2.2.2 读/写请求路由方式 2.2.3 主从延迟与解决方案 2.3 高并发读场景方案2:本地缓存 2.3.1 基本的缓存淘汰策略 2.3.2 W-TinyLFU策略 2.3.3 缓存击穿与SingleFlight 2.4 高并发读场景方案3:分布式缓存 2.4.1 分布式缓存选型 2.4.2 如何使用Redis缓存 2.4.3 缓存穿透 2.4.4 缓存雪崩 2.4.5 缓存更新 2.5 高并发读场景总结:CQRS 2.5.1 CQRS的简要架构与实现 2.5.2 更多的使用场景 2.5.3 CQRS架构的特点 2.6 高并发写场景方案1:数据分片之数据库分库分表 2.6.1 分库和分表 2.6.2 垂直拆分 2.6.3 水平拆分 2.6.4 水平拆分规则 2.6.5 扩容方案 2.6.6 其他数据分片形式 2.7 高并发写场景方案2:异步写与写聚合 2.7.1 异步写 2.7.2 写聚合 2.8 本章小结 第3章 通用的服务可用性治理手段 3.1 微服务架构与网络调用 3.2 重试 3.2.1 幂等接口 3.2.2 重试时机 3.2.3 重试风险与重试风暴 3.2.4 重试控制:不重试的请求 3.2.5 重试控制:重试请求比 3.3 熔断与隔离 3.3.1 服务雪崩 3.3.2 Hystrix熔断器 3.3.3 Resilience4j和Sentinel熔断器 3.3.4 共享资源与舱壁隔离 3.3.5 舱壁隔离的实现 3.4 限流 3.4.1 频控 3.4.2 单机限流1:时间窗口 3.4.3 单机限流2:漏桶算法 3.4.4 单机限流3:令牌桶算法 3.4.5 全局限流 3.5 自适应限流 3.5.1 服务与等待队列 3.5.2 基于请求排队时间 3.5.3 基于延迟比率 3.5.4 其他方案 3.6 降级策略 3.6.1 服务依赖度降级 3.6.2 读请求降级 3.6.3 写请求降级 3.7 本章小结 基础服务设计篇 第4章 唯一ID生成器 4.1 分布式唯一ID 4.1.1 全局唯一与UUID 4.1.2 唯一ID生成器的特点 4.1.3 单调递增与趋势递增 4.2 单调递增的唯一ID 4.2.1 Redis INCRBY命令 4.2.2 基于数据库的自增主键 4.2.3 高可用架构 4.3 趋势递增的唯一ID:基于时间戳 4.3.1 正确使用时间戳 4.3.2 Snowflake算法 4.3.3 Snowflake算法的灵活应用 4.3.4 分配服务实例ID 4.3.5 时钟回拨问题与解决方案 4.3.6 最终架构 4.4 趋势递增的唯一ID:基于数据库的自增主键 4.4.1 分库分表架构 4.4.2 批量缓存架构 4.5 美团点评开源方案:Leaf 4.5.1 Leaf-segment方案 4.5.2 Leaf-snowflake方案 4.6 本章小结 第5章 用户登录服务 5.1 用户账号 5.2 用户登录服务的功能要点 5.3 密码保护 5.3.1 使用HTTPS通信 5.3.2 非对称加密 5.3.3 密码加密存储 5.4 手机号登 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。