互联网创业核心技术:构建可伸缩的web应用txt,chm,pdf,epub,mobi下载 作者:【美】Artur Ejsmont 出版社: 电子工业出版社 原作名: Web Scalability for Startup Engineers 译者:李智慧/何坤 出版年: 2016-12 页数: 324 定价: 89 装帧: 平装 ISBN: 9787121301124 内容简介 · · · · · ·可伸缩架构技术是所有互联网技术中最重要,也是最引人入胜的技术。《互联网创业核心技术:构建可伸缩的web应用》针对互联网创业需求快速迭代,业务快速发展,短时间内用户、数据、访问量激增的特点,提纲挈领地描述了伸缩性架构的基本原理与设计原则,详细阐述了Web应用前端层、服务层、数据层的可伸缩架构,并花大量篇幅讲述了缓存技术和异步处理技术的可伸缩设计及其在Web系统中的具体应用。 《互联网创业核心技术:构建可伸缩的web应用》面向互联网创业公司工程师,也适用于所有互联网行业的工程师,对非互联网行业的软件工程师也有借鉴作用。事实上,《互联网创业核心技术:构建可伸缩的web应用》适合所有对可伸缩架构有兴趣的软件技术人员阅读。 作者简介 · · · · · ·Artur Ejsmont 是一位充满激情的软件工程师及敏捷领导者,目前就职于雅虎悉尼。Artur 从事 Web 应用方面的开发工作已经超过十年,同时也大量关注敏捷及创业公司管理,热爱精益创业模型。Artur 开发的网站每小时 PV 数超过一百万,为欧洲及澳洲两个大洲的用户提供服务。他还在大学开设课程,分享他的技术与知识。作为一名科技作家、博客写手、技术演讲者,Artur 对技术社区有许多积极的贡献。 译者 李智慧,曾供职阿里巴巴及英特尔亚太研发中心,从事分布式系统与大数据方面的开发。《大型网站技术架构:核心原理与案例分析》作者。目前正在互联网方面创业。 何坤,宅米首席架构师,前阿里巴巴平台架构师。曾参与阿里中文站架构建设,以及WebX 框架、云计算存储平台 Doris 等核心系统研发。曾就职丰联金融证券期货部任首席架构师。对大型互联网站架构有深刻... 目录 · · · · · ·1 核心概念 1什么是伸缩性 2 从单一服务器到全球用户的 Web 架构演化 4 单一服务器 5 使用更强的服务器:垂直伸缩 6 服务分离 10 · · · · · ·() 1 核心概念 1 什么是伸缩性 2 从单一服务器到全球用户的 Web 架构演化 4 单一服务器 5 使用更强的服务器:垂直伸缩 6 服务分离 10 内容分发网络:静态内容的伸缩性 12 分散访问流量:水平伸缩 13 服务全球用户的伸缩性架构 16 数据中心基础设施架构概览 18 前端 19 Web 应用层 20 Web 服务层 20 附加组件 21 数据持久层 21 数据中心基础架构 22 应用架构概览 23 前端 24 Web 服务 25 支撑技术 29 小结 30 2 软件设计原则 31 简单 31 隐藏复杂与构建抽象 32 避免过度设计 33 尝试测试驱动开发 34 从软件设计的简化范例中学习 35 低耦合 36 促进低耦合 37 避免不必要的耦合 39 低耦合范式 40 不要重复自己(DRY) 41 复制粘贴代码 42 基于约定编程 43 画架构图 46 用例图 49 类图 50 模块图 51 单一职责 52 改善单一职责 52 单一职责的例子 53 开闭原则 53 依赖注入 55 控制反转(IOC) 57 为伸缩而设计 59 增加副本 60 功能分割 62 数据分片 63 自愈设计 65 小结 67 3 构建前端层 69 状态管理 70 管理 HTTP 会话 73 管理文件 77 管理其他类型的状态 80 可伸缩的前端组件 83 DNS 84 负载均衡器 85 Web 服务器 92 缓存 93 自动伸缩 94 部署案例 96 AWS 场景 97 私有数据中心 98 小结 101 4 Web 服务 102 Web 服务设计 102 Web 服务作为一种备用表示层 103 API 优先方式 105 务实的方式 107 Web 服务类型 108 以功能为中心的服务 109 以资源为中心的服务 111 伸缩 REST Web 服务 115 保持服务无状态 115 缓存服务响应 121 功能分割 124 小结 127 5 数据存储层 129 MySQL 伸缩性 130 复制 130 数据分区(分片) 142 NoSQL 伸缩性 157 最终一致性 160 快速恢复增加可用性 164 Cassandra 拓扑结构 166 小结 170 6 缓存 171 缓存命中率 171 基于 HTTP 的缓存 173 HTTP 缓存头 174 HTTP 缓存技术类型 179 伸缩 HTTP 缓存 185 缓存应用对象 188 对象缓存的一般类型 189 伸缩对象缓存 194 缓存的经验法则 198 缓存整个调用栈 198 用户间缓存重用 199 从哪儿开始使用缓存? 201 缓存失效的困难 201 小结 203 7 异步处理 204 核心概念 204 同步处理的例子 205 异步处理的例子 208 购物类比 211 消息队列 213 消息生产者 214 消息代理 215 消息消费者 216 消息协议 220 消息基础设施 221 消息队列的好处 224 实现异步处理 225 更好的伸缩性 226 平衡流量峰值 227 失败隔离和自我修复 228 解耦 229 消息队列相关的挑战 230 消息无序 230 消息重新入队列 233 竞态条件可能性增大 233 复杂度风险 234 消息队列有关的反模式 235 将消息队列当作 TCP 套接字 235 将消息队列当作数据库 235 耦合消息生产者和消费者 235 缺少坏消息处理 236 消息平台快速比较与选择 237 亚马逊简单队列服务 237 RabbitMQ 240 ActiveMQ 242 最后的比较说明 243 事件驱动架构介绍 245 请求/响应交互 246 直接队列交互 247 事件驱动交互 247 小结 250 8 数据搜索 252 索引介绍 252 数据建模 260 NoSQL 数据建模 260 宽列数据存储的例子 264 搜索引擎 271 搜索引擎介绍 272 使用专用搜索引擎 274 小结 275 9 伸缩性的其他维度 277 自动化实现生产力可伸缩 278 测试 278 构建与部署 280 监控与报警 285 日志聚合 289 个人可伸缩 291 加班不是一种伸缩性方案 291 自我管理 293 伸缩敏捷团队 300 增加人手 300 流程与创新 301 团结的文化 302 小结 303 A 推荐阅读 304 · · · · · · () |
引发思考
让人叹为观止。
哈哈哈哈哈哈
从演化的角度入手