架构修炼之道PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:王新栋著
- 出 版 社:北京:电子工业出版社
- 出版年份:2019
- ISBN:9787121360374
- 页数:236 页
第1章 网关之道 1
1.1 认识API网关 1
1.1.1 API网关是什么 1
1.1.2 API网关涵盖的基本功能 3
1.1.3 API网关架构示例 4
1.2 一个API的生命周期 5
1.2.1 什么是API 5
1.2.2 生命周期 5
1.2.3 生命周期的过程 7
1.3 API网关的基石——泛化调用 8
1.4 如何发布API到网关系统 10
1.5 管道技术 12
1.5.1 管道实现 12
1.5.2 如何获取管道 15
1.5.3 管道信息传递 16
1.5.4 管道的优点 16
1.5.5 责任链模式 17
1.6 一个传统网关系统有几种“死”法 18
1.6.1 关注CPU 19
1.6.2 关注磁盘 20
1.6.3 关注网络 20
1.7 Servlet 3异步原理与实践 21
1.7.1 什么是Servlet 22
1.7.2 什么是Servlet规范 22
1.7.3 同步、异步、阻塞、非阻塞 23
1.7.4 Servlet 3的异步流程 23
1.7.5 Servlet 3的异步使用步骤 23
1.7.6 Servlet 3的异步使用示例 24
1.7.7 TomcatNIOConnector、Servlet3.0Async和SpringMVCAsync的关系 29
1.7.8 Servlet 3非阻塞I/O 31
1.8 全异步网关 34
1.9 脱库与多级缓存 36
1.9.1 脱库 36
1.9.2 多级缓存 37
1.10 热更新 38
1.11 网关系统的七种武器 39
1.12 本章小结 40
第2章 开放之道 41
2.1 认识OAuth 2.0 41
2.1.1 什么是OAuth 2.0 41
2.1.2 角色 41
2.1.3 OAuth 2.0协议流程 42
2.1.4 采用OAuth 2.0协议的开放平台 45
2.1.5 京东宙斯开放(授权码方式场景) 46
2.2 开放平台 49
2.2.1 一名开发者的基本需求 50
2.2.2 完整性 51
2.2.3 稳定性 51
2.2.4 安全性 53
2.2.5 整体技术架构 53
2.2.6 意义 54
2.3 如何设计一套SPI应用架构 55
2.3.1 API和SPI区别 55
2.3.2 术语约定 56
2.3.3 业务场景 57
2.3.4 架构实现 57
2.3.5 测试 59
2.3.6 SPI是一种思想 59
2.4 讲一讲越权 60
2.4.1 什么是越权访问 62
2.4.2 越权访问的种类 62
2.4.3 发生越权访问的根本原因 62
2.4.4 如何避免与解决 62
2.4.5 开放平台环境下的越权访问 64
2.5 从Facebook数据泄漏谈开放安全 66
2.5.1 OAuth 2.0授权 66
2.5.2 数据加/解密 67
2.5.3 IP地址白名单 68
2.5.4 平台内环境 68
2.6 API治理 69
2.6.1 性能 69
2.6.2 可用率 70
2.6.3 文档可读性 70
2.7 API经济 70
2.7.1 API盈利模式 71
2.7.2 API市场 72
2.7.3 API经济价值链 73
2.8 沙箱环境 73
2.8.1 协同 73
2.8.2 维护 74
2.9 本章小结 74
第3章 分布式之道 75
3.1 认识分布式 75
3.2 分布式事务 77
3.2.1 什么是分布式事务 77
3.2.2 CAP和BASE理论 77
3.3 分布式锁 81
3.3.1 为什么需要分布式锁 81
3.3.2 分布式锁的实现方式 81
3.4 分布式限流 88
3.4.1 计数器 89
3.4.2 限速器 90
3.4.3 限流的维度 90
3.4.4 流量包 90
3.4.5 再来谈令牌桶 91
3.5 衡量性能的指标QPS、TPS等 92
3.5.1 什么是QPS 92
3.5.2 什么是TPS 92
3.5.3 什么是RT 93
3.5.4 什么是并发数 93
3.6 本章小结 94
第4章 MQ之道 95
4.1 认识JMS 95
4.1.1 JMS的组成 95
4.1.2 JMS编程模型 96
4.1.3 JMS消息结构 96
4.1.4 JMS消息模型 97
4.2 带着思考理解MQ下的基本概念 99
4.2.1 生产者—消费者(Producer-Consumer) 99
4.2.2 空间解耦 99
4.2.3 时间解耦 99
4.2.4 观察者模式与发布/订阅 100
4.3 消费幂等 101
4.3.1 什么是幂等操作 101
4.3.2 是什么引起我们关注消费幂等 102
4.3.3 如何处理消费幂等 103
4.4 详述MQ各种功能场景 104
4.4.1 解耦 104
4.4.2 削峰填谷 104
4.4.3 最终一致性 105
4.4.4 广播消费 106
4.4.5 使用集群消费模拟广播 108
4.4.6 重试之坑 108
4.5 数据异构的武器——MQ+canal 109
4.5.1 定义 109
4.5.2 常见应用场景 109
4.5.3 数据异构方向 110
4.5.4 数据异构的常用方法 110
4.5.5 binlog和MQ方式 111
4.6 关于MQ再问自己几个问题 114
4.6.1 我想自己控制开始消费如何做 114
4.6.2 为什么需要消息过滤 115
4.6.3 过期消息是怎么处理的 116
4.6.4 消息重试的注意点 116
4.6.5 为什么需要事务消息 118
4.6.6 消息为什么没有了顺序 119
4.7 本章小结 120
第5章 消息推送之道 121
5.1 认识消息推送 121
5.2 构建长连接推送系统之HTTP实践 122
5.2.1 Web网络结构及配置 122
5.2.2 基本配置 122
5.2.3 Transfer-Encoding:chunked 124
5.2.4 HTTP长连接系统组成结构 124
5.2.5 Session管理 125
5.2.6 心跳 125
5.2.7 消息接收的概念 126
5.2.8 消息推送的概念 126
5.2.9 消息追踪 126
5.2.10 HTTP长连接系统时序调用 126
5.2.11 创建会话(连接) 127
5.2.12 心跳逻辑 129
5.2.13 消息接收实例 131
5.2.14 消息推送实例 131
5.2.15 半推半拉 132
5.2.16 系统优化 133
5.2.17 测试 133
5.3 构建消息推送系统之Netty实践 135
5.3.1 启动 135
5.3.2 创建会话 137
5.3.3 心跳 137
5.3.4 发送消息 139
5.3.5 注销会话 139
5.3.6 黏包 140
5.4 一台服务器可以“跑”多少个连接 140
5.5 一台服务器可以“跑”多少个线程 141
5.6 弱网络环境 144
5.7 发送APNs 144
5.7.1 认识APNs 144
5.7.2 HTTP/2 145
5.7.3 Pushy的使用 146
5.8 本章小结 147
第6章 RPC之道 148
6.1 认识RPC 148
6.2 RPC是如何实现通信的 149
6.2.1 动态代理 149
6.2.2 反射 150
6.2.3 序列化 151
6.2.4 网络编程 151
6.3 一次RPC调用时间都去哪儿了 152
6.4 异步RPC 154
6.4.1 异步调用 154
6.4.2 异步监听 155
6.4.3 callback调用 156
6.5 本章小结 157
第7章 I/O之道 158
7.1 认识I/O 158
7.2 解读I/O多路复用技术 158
7.2.1 I/O多路复用概述 159
7.2.2 用户进程和内核 160
7.2.3 select和recvfrom 161
7.2.4 阻塞、非阻塞 163
7.2.5 适用场景 164
7.3 解读Tomcat中的NIO模型 164
7.3.1 Tomcat对I/O模型的支持 164
7.3.2 Tomcat中NIO的配置与使用 165
7.3.3 NioEndpoint组件关系图解读 165
7.3.4 NioEndpoint执行序列图 166
7.3.5 关于性能 176
7.4 本章小结 177
第8章 微服务之道 178
8.1 认识微服务 178
8.2 微服务后如何做一次系统梳理 180
8.2.1 系统分类与演进 180
8.2.2 梳理目的要搞清楚 181
8.2.3 如何做 181
8.2.4 核心功能的核心流程梳理 183
8.3 朝着微服务的方向去做一次数据库拆分 184
8.3.1 现状 184
8.3.2 方法 184
8.3.3 拆库的步骤(MySQL) 185
8.4 本章小结 187
第9章 容错之道 188
9.1 认识容错 188
9.2 降级与限流 188
9.3 线程池隔离 189
9.3.1 为什么要做线程池隔离 189
9.3.2 实现一个线程池隔离 190
9.3.3 线程池隔离的优点 192
9.3.4 线程池隔离的缺点 193
9.4 快速失败 193
9.5 熔断 194
9.5.1 熔断器介绍 194
9.5.2 熔断使用注意 195
9.6 Hystrix的使用 196
9.6.1 认识Hystrix 196
9.6.2 线程池隔离 196
9.6.3 信号量隔离 200
9.6.4 熔断 202
9.6.5 回退降级 212
9.7 大促备战都“备”什么 221
9.7.1 分离技术 221
9.7.2 缓存技术 222
9.7.3 SQL优化 222
9.7.4 快速失败 222
9.7.5 降级限流 223
9.7.6 性能压测 223
9.8 本章小结 224
第10章 程序之外 226
10.1 程序与健身 226
10.2 程序员的硬件装备 228
10.3 程序员应该看的四本技术书籍 229
10.4 程序员应该熟悉的常用定律法则 230
10.5 知识、数据、工具 231
参考文献 236
- 《女丹仙道:道教女子内丹养生修炼秘籍 下》董沛文著 2012
- 《物联网系统架构》解运洲 2019
- 《云架构操作系统基础 Red Hat Enterprise Linux 7》李贺华 2018
- 《卓越教师是怎么修炼成的 一本赠予半勺鸡汤的著作》封友胜著 2018
- 《五大贼王 3 净火修炼》张海帆 2019
- 《Java微服务架构实战》李兴华编著 2020
- 《雅思写作高分21天修炼手册》(英)安大卫(AngusHendersonDavidCargill),聂武璇,赵芷芳著 2020
- 《职业经理人的五项修炼》余世维口述 2019
- 《Spring Cloud微服务架构实战》陈韶健著 2020
- 《程序员修炼之道 通向务实的最高境界 第2版》(美)David Thomas(大卫·托马斯),Andrew Hunt(安德鲁·亨特) 2020
- 《无机化学实验》李英,王新生,侯玉霞主编 2019
- 《RNA折叠结构预测算法与计算复杂性》刘振栋著 2019
- 《基于R语言的多元统计分析》张栋著 2019
- 《校园文化教程》王新庆主编 2019
- 《全国学前教育专业(新课程标准)规划教材 儿歌弹唱教程 第3版》王新乐 2018
- 《复杂网络化系统故障检测与状态估计》万雄波,吴敏,王子栋著 2019
- 《全国中医药行业高等教育 十二五 规划教材 全国高等中医药院校规划教材 第9版 金匮要略》范永升,姜德友主编;张再良,王新佩,张炳填等副主编 2015
- 《神奇的微生物》关春蕾,王新燕编著 2019
- 《宁夏云雾山草原昆虫与蜘蛛》王新谱,贾彦霞,李维军 2019
- 《整体化分散治理 基于中国政社权利关系演变的轨迹》王栋著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017