本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
内容简介
目录
第1章 常用的RPC框架1
1.1 RPC框架原理1
1.2 RMI介绍2
1.2.1 原生RMI代码示例3
1.2.2 RMI穿透防火墙5
1.3 CXF/Axis2介绍7
1.3.1 CXF介绍7
1.3.2 Axis2介绍14
1.4 Thrift介绍21
1.4.1 Thrift工作原理介绍23
1.4.2 Thrift IDL语法说明26
1.4.3 基于Apache Thrift的Java版完整案例28
1.4.4 基于Java注解的简化实现36
1.5 gRPC介绍42
1.5.1 protobuf3语法介绍43
1.5.2 gRPC使用示例45
1.6 HTTP Client介绍53
1.6.1 构建HttpClient对象54
1.6.2 构建URI对象55
1.6.3 构建请求对象(HttpGet、HttpPost)56
1.6.4 HttpClient发起调用及获取调用返回结果56
1.7 实现自己的RPC框架61
1.8 RPC框架与分布式服务框架的区别68
1.9 本章小结68
第2章 分布式服务框架总体架构与功能69
2.1 面向服务的体系架构(SOA)69
2.1.1 面向服务架构范式69
2.1.2 服务拆分原则71
2.2 分布式服务框架现实需求72
2.3 分布式服务框架总体架构及所需的技术概述72
2.4 本章小结74
第3章 分布式服务框架序列化与反序列化实现75
3.1 序列化原理及常用的序列化介绍75
3.2 Java默认的序列化77
2018-06-12《大型网站技术架构演进与性能优化》从一名亲历者的角度,阐述了一个网站在业务量飞速发展的过程中所遇到的技术转型等各种问题及解决思路。从技术发展上看,网站经历了Web应用系统从分布式、无线多端、中台到国际化的改造;在解决大流量问题的方向上,涉及了从端的优化到管道到服务端甚至到基础环境优化的各个层面。
《大型网站技术架构演进与性能优化》总结的宝贵经验教训可以帮助读者了解当网站遇到类似问题时,应如何思考不同的解决思路、为什么要这样做、并最终做出合适的方案选择。
目录
1 构建大型网站:分布式改造 1
1.1 为什么要做分布式化 1
1.2 典型的分布式架构 2
1.3 分布式配置框架 4
1.4 分布式RPC 框架 6
1.5 分布式消息框架 8
1.6 分布式数据层 11
1.7 分布式文件系统 12
1.8 应用的服务化改造 15
1.9 分布式化遇到的典型问题 16
1.10 分布式消息通道服务的设计 19
1.11 典型的分布式集群设计思路 21
1.12 总结 24
2 无线化:无线时代下的架构演进 26
2.1 无线环境下的新挑战 26
2.2 端的演进 28
2.3 无线链路的优化 32
2.4 服务端的演进 36
2.5 思考:开发语言选择的思考 44
2.5 总结 46
3 大型网站平台化演进:大中台小前台 49
3.1 为什么需要中台 49
3.2 什么是中台 53
3.3 提升中台的效率 55
3.4 中台是否能解决一切问题 64
3.5 总结 65
4 全球化下的网站演进:全球部署方案 66
4.1 国际化的背景 67
4.2 面临的技术挑战 68
4.3 全球部署的目标架构 69
4.4 何为单元化 69
4.5 单元化解决什么问题 70
4.6 单元化数据分片方案 70
4.7 数据路由方案 74
4.8 接入层路由 78
4.9 服务层路由 79
4.10 数据层路由 81
4.10 Sequence ID 的冲突问题 83
4.11 异地多活 84
4.12 多语言问题 85
4.14 多时区问题 86
4.15 全球数据同步与数据路由 89
4.16 通用版与定制版的选择 90
4.17 全球化部署中遇到的坑 91
4.18 总结 92
5 应用程序优化:代码级优化 93
5.1 优化思路 93
5.2 影响性能的关键因素 97
5.3 Java 特性的优化 102
5.4 减少并发冲突 104
5.5 减少序列化 105
5.6 减少字符到字节的转换 105
5.7 使用长连接 106
5.8 总结 106
目录
第 1 部分 概述 ......................................................................................... 1
1 交易型系统设计的一些原则 .................................................................................... 2
1.1 高并发原则 ................................................................................................................ 3
1.1.1 无状态 ............................................................................................................ 3
1.1.2 拆分 ................................................................................................................ 3
1.1.3 服务化 ............................................................................................................ 4
1.1.4 消息队列 ........................................................................................................ 4
1.1.5 数据异构 ........................................................................................................ 6
1.1.6 缓存银弹 ........................................................................................................ 7
1.1.7 并发化 ............................................................................................................ 9
1.2 高可用原则 .............................................................................................................. 10
1.2.1 降级 .............................................................................................................. 10
1.2.2 限流 .............................................................................................................. 11
1.2.3 切流量 .......................................................................................................... 12
1.2.4 可回滚 .......................................................................................................... 12
1.3 业务设计原则 .......................................................................................................... 12
1.3.1 防重设计 ...................................................................................................... 13
1.3.2 幂等设计 ...................................................................................................... 13
1.3.3 流程可定义 .................................................................................................. 13
1.3.4 状态与状态机 .............................................................................................. 13
1.3.5 后台系统操作可反馈 .................................................................................. 14
1.3.6 后台系统审批化 .......................................................................................... 14
1.3.7 文档和注释 .................................................................................................. 14
XXIV | 亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统
1.3.8 备份 .............................................................................................................. 14
1.4 总结 ........................................................................................................................... 14
第 2 部分 高可用 ..................................................................................... 17
2 负载均衡与反向代理 ............................................................................................ 18
2.1 upstream 配置 ........................................................................................................... 20
2.2 负载均衡算法 ........................................................................................................... 21
2.3 失败重试 ................................................................................................................... 23
2.4 健康检查 ................................................................................................................... 24
2.4.1 TCP 心跳检查 .............................................................................................. 24
2.4.2 HTTP 心跳检查 ........................................................................................... 24
2.5 其他配置 ................................................................................................................... 25
2.5.1 域名上游服务器 .......................................................................................... 25
2.5.2 备份上游服务器 .......................................................................................... 26
2.5.3 不可用上游服务器 ...................................................................................... 26
2.6 长连接 ....................................................................................................................... 26
2.7 HTTP 反向代理示例 ................................................................................................ 29
2.8 HTTP 动态负载均衡 ................................................................................................ 30
2.8.1 Consul+Consul-template .............................................................................. 31
2.8.2 Consul+OpenResty .............