本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
图书基本信息 | |||
图书名称 | 从程序员到架构师:大数据量、缓存、高并发、微服务、多团队协同等核心场景实战 | 作者 | 王伟杰 |
定价 | 89元 | 出版社 | 机械工业出版社 |
ISBN | 9787111699842 | 出版日期 | 2022-03-01 |
字数 | 页码 | 202 | |
版次 | 装帧 | 平装 | |
开本 | 16开 | 商品重量 |
内容提要 | |
《从程序员到架构师:大数据量、缓存、高并发、微服务、多团队协同等核心场景实战》分为数据持久化层场景实战、缓存层场景实战、基于常见组件的微服务场景实战、微服务进阶场景实战和开发运维场景实战5个部分,基于对十余个架构搭建与改造项目的经验总结,介绍了大数据量、缓存、高并发、微服务、多团队协同等核心场景下的架构设计常见问题及其通用技术方案,包含冷热分离、查询分离、分表分库、秒杀架构、注册发现、熔断、限流、微服务等具体需求下的技术选型、技术原理、技术应用、技术要点等内容,将技术讲解与实际场景相结合,内容丰富,实战性强,易于阅读。 《从程序员到架构师:大数据量、缓存、高并发、微服务、多团队协同等核心场景实战》适合计划转型架构师的程序员及希望提升架构设计能力的IT从业人员阅读。 |
目录 | |
序 前言 部分 数据持久化层场景实战 章 冷热分离/ 1.1 业务场景:几千万数据量的工单表如何快速优化/ 1.2 数据库分区,从学习到放弃/ 1.3 冷热分离简介/ 1.3.1 什么是冷热分离/ 1.3.2 什么情况下使用冷热分离/ 1.4 冷热分离一期实现思路:冷热数据都用MySQL/ 1.4.1 如何判断一个数据到底是冷数据还是热数据/ 1.4.2 如何触发冷热数据分离/ 1.4.3 如何分离冷热数据/ 1.4.4 如何使用冷热数据/ 1.4.5 历史数据如何迁移/ 1.4.6 整体方案/ 1.5 冷热分离二期实现思路:冷数据存放到HBase/ 1.5.1 冷热分离一期解决方案的不足/ 1.5.2 归档工单的使用场景/ 1.5.3 HBase原理介绍/ 1.5.4 HBase的表结构设计/ 1.5.5 二期的代码改造/ 1.6 小结/ 第2章 查询分离/ 2.1 业务场景:千万工单表如何实现快速查询/ 2.2 查询分离简介/ 2.2.1 何为查询分离/ 2.2.2 何种场景下使用查询分离/ 2.3 查询分离实现思路/ 2.3.1 如何触发查询分离/ 2.3.2 如何实现查询分离/ 2.3.3 查询数据如何存储/ 2.3.4 查询数据如何使用/ 2.3.5 历史数据迁移/ 2.3.6 MQ + Elasticsearch的整体方案/ 2.4 Elasticsearch注意事项/ 2.4.1 如何使用Elasticsearch设计表结构/ 2.4.2 Elasticsearch的存储结构/ 2.4.3 Elasticsearch如何修改表结构/ 2.4.4 陷阱一:Elasticsearch是准实时的/ 2.4.5 陷阱二:Elasticsearch宕机恢复后,数据丢失/ 2.4.6 陷阱三:分页越深,查询效率越低/ 2.5 小结/ 第3章 分表分库/ 3.1 业务场景:亿级订单数据如何实现快速读写/ 3.2 拆分存储的技术选型/ 3.2.1 MySQL的分区技术/ 3.2.2 NoSQL/ 3.2.3 NewSQL/ 3.2.4 基于MySQL的分表分库/ 3.3 分表分库实现思路/ 3.3.1 使用什么字段作为分片主键/ 3.3.2 分片的策略是什么/ 3.3.3 业务代码如何修改/ 3.3.4 历史数据如何迁移/ 3.3.5 未来的扩容方案是什么/ 3.4 小结/ 第2部分 缓存层场景实战 第4章 读缓存/ 4.1 业务场景:如何将十几秒的查询请求优化成毫秒级/ 4.2 缓存中间件技术选型(Memcached,MongoDB,Redis)/ 4.3 缓存何时存储数据/ 4.4 如何更新缓存/ 4.4.1 组合1:先更新缓存,再更新数据库/ 4.4.2 组合2:先删除缓存,再更新数据库/ 4.4.3 组合3:先更新数据库,再更新缓存/ 4.4.4 组合4:先更新数据库,再删除缓存/ 4.4.5 组合5:先删除缓存,更新数据库,再删除缓存/ 4.5 缓存的高可用设计/ 4.6 缓存的监控/ 4.7 小结/ 第5章 写缓存/ 5.1 业务场景:如何以代价解决短期高频写请求/ 5.2 写缓存/ 5.3 实现思路/ 5.3.1 写请求与批量落库这两个操作同步还是异步/ 5.3.2 如何触发批量落库/ 5.3.3 缓存数据存储在哪里/ 5.3.4 缓存层并发操作需要注意什么/ 5.3.5 批量落库失败了怎么办/ 5.3.6 Redis的高可用配置/ 5.4 小结/ 第6章 数据收集/ 6.1 业务背景:日亿万级请求日志收集如何不影响主业务/ 6.2 技术选型思路/ 6.2.1 使用什么技术保存埋点数据的现场/ 6.2.2 使用什么技术收集日志数据到持久化层/ 6.2.3 为什么使用Kafka/ 6.2.4 使用什么技术把Kafka的数据迁移到持久化层/ 6.3 整体方案/ 6.4 小结/ 第7章 秒杀架构/ 7.1 业务场景:设计秒杀架构必知必会的那些事/ 7.2 整体思路/ 7.2.1 浏览页面如何将请求拦截在上游/ 7.2.2 下单页面如何将请求拦截在上游/ 7.2.3 付款页面如何将请求拦截在上游/ 7.2.4 整体服务器架构/ 7.3 小结/ 第3部分 基于常见组件的微服务场景实战 第8章 注册发现/ 8.1 业务场景:如何对几十个后台服务进行高效管理/ 8.2 传统架构会出现的问题/ 8.2.1 配置烦琐,上线容易出错/ 8.2.2 加机器要重启/ 8.2.3 负载均衡单点/ 8.2.4 管理困难/ 8.3 新架构要点/ 8.3.1 中心存储服务使用什么技术/ 8.3.2 使用哪个分布式协调服务/ 8.3.3 基于ZooKeeper需要实现哪些功能/ 8.4 ZooKeeper宕机了怎么办/ 8.5 小结/ 第9章 全链路日志/ 9.1 业务场景:这个请求到底经历了什么/ 9.2 技术选型/ 9.2.1 日志数据结构支持OpenTracing/ 9.2.2 支持Elasticsearch作为存储系统/ 9.2.3 保证日志的收集对性能无影响/ 9.2.4 查询统计功能的丰富程度/ 9.2.5 使用案例/ 9.2.6 终选择/ 9.3 注意事项/ 9.3.1 SkyWalking的数据收集机制/ 9.3.2 如果SkyWalking服务端宕机了,会出现什么情况/ 9.3.3 流量较大时,如何控制日志的数据量/ 9.3.4 日志的保存时间/ 9.3.5 集群配置:如何确保高可用/ 9.4 小结/ 0章 熔断/ 10.1 业务场景:如何预防一个服务故障影响整个系统/ 10.1.1 个问题:请求慢/ 10.1.2 第二个问题:流量洪峰缓存超时/ 10.2 覆盖场景/ 10.3 Sentinel 和Hystrix/ 10.4 Hystrix的设计思路/ 10.4.1 线程隔离机制/ 10.4.2 熔断机制/ 10.4.3 滚动(滑动)时间窗口/ 10.4.4 Hystrix调用接口的请求处理流程/ 10.5 注意事项/ 10.5.1 数据一致性/ 10.5.2 超时降级/ 10.5.3 用户体验 |
作者介绍 | |
曾任硅谷上市公司技术总监、知名重资产型互联网上市公司技术总监、创业公司 CTO。目前是建信金融科技 基础技术中心的技术专家。 拥有 15 年互联网研发经验,保险、电商、银行等行业领域都有所涉猎,落地实践过数十个架构项目,在微服务、大数据、 AI工程化落地、中台化改造、DevOps 、运维自动化等方面有着丰富的经验。拉勾教育架构专栏讲师。 |