搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
亿级流量系统架构设计与实战
0.00     定价 ¥ 128.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购23本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787121476983
  • 作      者:
    编者:李琛轩|责编:张国霞
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2024-05-01
收藏
畅销推荐
内容介绍
本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机房的搭建思路,然后介绍后台在应对高并发的读/写请求时通用的处理手段,最后介绍如何通过通用的服务治理手段来保障后台的高质量运行;基础服务设计篇(第4~6章),主要讲解基础服务的架构设计,这里选取的基础服务几乎是所有互联网后台都需要的专门系统,包括唯一ID生成器、用户登录服务和海量推送系统;核心服务设计篇(第7~13章),主要讲解在常见的社交互动场景中所需核心服务的架构设计,包括内容发布系统、通用计数系统、排行榜服务、用户关系服务、TimelineFeed服务、评论服务和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 手机号登
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证