×
携程架构实践

携程架构实践

1星价 ¥53.4 (4.9折)
2星价¥53.4 定价¥109.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787121384394
  • 装帧:简裝本
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:336
  • 出版时间:2020-03-01
  • 条形码:9787121384394 ; 978-7-121-38439-4

本书特色

《携程架构实践》结合携程技术实践的过程,涵盖从开发到运维,从组件到治理的多种维度,让读者可以借鉴并学会如何设计自己的应用架构,透析架构背后的原理,不仅知其然,还知其所以然。全面展现了一个被携程实践和验证过的大型互联网系统的完整架构,无论是用来学习研究还是参考借鉴,都非常有价值和意义。

内容简介

本书浓缩了携程公司的整个技术架构, 可以帮助读者了解支撑一家大型企业所需要的核心技术产品, 以及它们的架构和面临的挑战。本书由携程的一线研发工程师们精心编写, 他们对携程各个领域的技术实践了如指掌, 本书所提到的各种系统离不开他们的耕耘。在给读者呈现携程架构实践的同时, 也希望本书能给读者带来一些警示和启发, 共同推动技术步。

前言

序言

当今IT 技术的发展越来越快,更新换代可谓日新月异,让从业者们应接不暇。然而,无论技术如何变化和发展,有些恒久而弥新的知识和能力,依然可以稳定地沉淀下来,它们跨越了不同的开发语言、不同的运行平台,始终是我们关注的焦点。

架构,在每年的技术大会上都是热门的话题。架构的关键设计在很大程度上决定了一个系统的非功能属性,如可用性、可扩展性和可维护性等。这也是我们如此重视架构的原因,一个好的架构就像一个好的制度,我们虽然不会时时刻刻感受到它的存在,但在关键时刻,它决定了系统能够到达的高度。

现实的系统往往很复杂,很难表述,它包含了太多的细枝末节,以及未来的不断变化。但优雅而简洁的架构设计能在很大程度上将系统的精髓剥离和抽象出来,化繁为简,以不变应万变。无论什么时候,衡量一个系统的架构设计是否优秀的标准都是高可用、高性能、低成本和高扩展性,例如:

在遇到各种突发网络状况,甚至单个机房发生故障时,系统是否依然稳定运行,高可用;

在亿万量级访问的高并发下,系统是否能在7×24 小时内一直稳定运行,是否能在毫秒级别依然准确而稳定地返回数据;

如果业务访问量超出预期、成倍增加,系统是否不需要修改大量代码,只需要调整配置,扩容服务器,即可快速支持;

如果业务需求快速变化,系统是否可以通过业务架构的良好扩展能力,无须大量改动代码就能够轻松应对……

要想实现上述目标,完成一个优秀的架构设计,必须以架构师丰富的实战经验为依托。而在何种场景下采用何种架构设计,并真正解决问题,才是体现架构师能力的关键。所以,要想成为一名优秀的架构师,需要技术人员保持“空杯心态”,不断地学习、交流、实践,才能修成正果,这也是我们出版这本书的初衷。

从2016 年开始,我们持续在“携程技术”微信公众号发表相关文章,每年年底还会编辑成合辑,和大家分享携程每年的技术成长和经验积累。2019 年年初,电子工业出版社的编辑联系我们,希望我们把这几年的相关文章编撰成书以整体呈现携程的技术架构,大家一拍即合,于是有了本书。

虽然介绍特定技术产品架构的文章很多,但能在一本书中将整个公司的技术架构浓缩是很难得的。本书可以帮助读者了解支撑一家大型企业所需要的核心技术产品,以及它们的架构和面临的挑战。不同领域的架构关注点各有侧重,但是方□□是相通的。希望读者通过本书了解携程的架构实践,拓宽视野,丰富自己的架构工具箱,在遇到难题时,看看其他领域的解决思路,就可能碰撞出意想不到的“火花”。



携程技术副总裁 李小林



前言

重回首,去时年,揽尽风雨苦亦甜。不知不觉,携程已经走过了20 多年的历程。多年来,携程不断地深耕在线旅游(OTA)行业,力求为用户提供更加多元、舒适的服务。时至今日,作为国内优秀的OTA 企业,携程正逐渐成为推动全球旅游行业发展的中坚力量。

与众不同的业务基因,决定了携程必须走出一条适合自身发展的技术道路。随着携程业务规模的快速扩张,其技术体系也在持续沉淀。技术领域没有银弹,技术体系必然会随着业务需求的变更而不断演进,并且在演进过程中,每一次成功或失败所积累的经验教训都会在下一次实践过程中得到体现。本书将从流量接入层、后端系统和技术保障三方面出发,介绍携程在各个技术领域的□新实践及相关思考。

□□部分主要介绍流量接入层。流量接入层是用户使用携程服务的入口,直接影响用户的服务体验。这部分首先介绍携程在前端技术领域,尤其是移动开发框架与周边设施的实践方案;然后阐述如何通过提升网络层访问的性能和质量,来进一步改善用户体验;□后解析携程优质服务的核心系统——呼叫中心是如何构建的。

第二部分主要介绍后端系统。可靠的后端系统是处理海量用户请求的关键,其主要特征包括高可用、高并发、高性能。这部分从分布式消息队列、微服务、配置中心等核心中间件入手,剖析携程在框架中间件体系建设过程中遇到的一系列难题及其应对措施。同时针对如何构建高效、可靠的数据访问层及存储体系等,与读者进行深入探讨。

第三部分主要介绍技术保障。产品从立项到研发、测试、上线,再到运行时的监控、弹性扩缩容,其生命周期的每一个阶段都需要完善的技术保障支持。这部分涵盖了持续集成、监控告警及多数据中心架构等内容,以及携程如何在持续提升研发效率的同时,降低甚至避免快速迭代对网站可用性产生的负面影响。

中国抓住了信息革命的机遇,造就了很多□□□的互联网公司,也拥有了众多互联网领域的“独角兽”,但市场上还没有能够全面介绍一家公司的完整技术体系的书籍,本书的初衷正在于此。我们从一线研发工程师中遴选出本书的作者团队,将架构演进过程中遇到的挑战、走过的弯路及□新的实践方案编撰成书,在给读者呈现携程技术架构体系的同时,也希望给读者带来一些启发,共同推动技术进步。

我们并不完美,但我们心怀敬畏。愿各位永葆对技术的憧憬与热忱。



《携程架构实践》编委会

目录

□□ 章 携程整体技术架构 001
1.1 携程技术架构概览 003
1.1.1 分层架构 003
1.1.2 接入层技术 005
1.1.3 后端技术 006
1.1.4 技术保障 007
1.2 携程整体技术架构演进 008
1.2.1 呼叫中心时代 009
1.2.2 互联网和移动互联网时代 009
1.2.3 大数据和人工智能时代 011

第2 章 移动大前端 013
2.1 CRN 框架 014
2.1.1 背景介绍 014
2.1.2 框架设计 015
2.1.3 性能优化 016
2.1.4 配套支撑系统建设 019
2.2 Web 框架 021
2.2.1 微信小程序应用框架CWX 021
2.2.2 CRN 浏览器端运行框架CRN-Web 024
2.2.3 下一代前端框架解决方案 NFES 027
2.3 插件化 033
2.3.1 插件化的来源 033
2.3.2 方案的实现 034
2.4 Node.js 038
2.4.1 应用场景 038
2.4.2 应用部署 039
2.4.3 运维与监控 040
2.4.4 公共服务 044
2.5 移动发布平台MCD 045
2.5.1 平台服务架构 045
2.5.2 生命周期管理 046
2.5.3 开发流程管理 048
2.5.4 发布流程管理 049
2.6 用户行为监测UBT 050
2.6.1 数据采集 050
2.6.2 传输与存储 052
2.6.3 实时分析 054
2.7 CData 055
2.7.1 性能管理 055
2.7.2 错误统计 056
2.7.3 访问量统计 057
2.7.4 排障支持 057
2.8 本章小结 058

第3 章 用户接入 059
3.1 GSLB 技术 059
3.1.1 GSLB 系统概述 060
3.1.2 DNS 工作方式 060
3.1.3 GSLB 工作原理 061
3.2 CDN 063
3.2.1 CDN 静态加速 064
3.2.2 CDN 动态加速 065
3.2.3 CDN 动态域名切换 066
3.3 App 端接入 066
3.4 负载均衡 067
3.4.1 负载均衡器工作原理 068
3.4.2 负载均衡优化手段 070
3.4.3 负载均衡算法 074
3.4.4 负载均衡会话保持 076
3.5 软负载系统SLB 077
3.5.1 SLB 的产生背景 077
3.5.2 SLB 的架构设计 078
3.5.3 SLB 实现的几个难点 083
3.6 API Gateway 086
3.6.1 API Gateway 的架构设计 087
3.6.2 API Gateway 在携程的使用 091
3.7 本章小结 092

第4 章 呼叫中心 093
4.1 软交换系统SoftPBX 095
4.1.1 携程软交换系统现状 095
4.1.2 软交换架构与信令路径 095
4.1.3 组件规划与分布 096
4.1.4 应用场景 099
4.2 交互式语音应答系统SoftIVR 101
4.2.1 什么是交互式语音应答 101
4.2.2 SoftIVR 架构与特点 101
4.2.3 信令传输流程与核心组件 104
4.2.4 应用场景 108
4.3 全渠道客服云系统 109
4.3.1 全渠道客服云系统的意义 109
4.3.2 客服云整体架构 111
4.3.3 服务端架构 112
4.3.4 应用场景 115
4.4 本章小结 117

第5 章 框架中间件 118
5.1 服务化 120
5.1.1 为什么需要服务化中间件框架 120
5.1.2 服务化中间件框架的基本架构 121
5.1.3 服务注册中心设计解析 122
5.1.4 服务治理系统功能解析 125
5.2 消息队列 128
5.2.1 消息队列的特性与使用场景 128
5.2.2 主流消息队列 129
5.2.3 携程消息队列QMQ 132
5.3 配置中心 137
5.3.1 为什么需要配置中心 137
5.3.2 配置中心的特性 138
5.3.3 Apollo 源码部分解析 139
5.3.4 配置中心面临的新挑战 141
5.4 数据访问 142
5.4.1 数据访问层概述 142
5.4.2 为什么要引入数据访问中间件 143
5.4.3 数据访问中间件的主流方案 144
5.4.4 携程数据访问中间件功能解析 146
5.5 缓存层 150
5.5.1 总体架构 150
5.5.2 分片和路由 151
5.5.3 高可用 153
5.5.4 水平拆分 154
5.5.5 跨机房容灾 156
5.5.6 跨区域同步 159
5.5.7 双向同步 163
5.6 本章小结 167

第6 章 数据库 168
6.1 上传发布 171
6.1.1 表结构设计规范 172
6.1.2 数据库表结构的发布 172
6.1.3 SQL Server 的特殊之处 173
6.2 监控告警 176
6.2.1 数据库大盘监控 176
6.2.2 运维数据库OPDB 178
6.2.3 语句监控 179
6.3 数据库高可用 187
6.3.1 SQL Server 高可用 188
6.3.2 MySQL 高可用 189
6.3.3 Redis 高可用架构 193
6.4 本章小结 194

第7 章 IaaS & PaaS 195
7.1 网络架构演进 198
7.1.1 基于 VLAN 的二层网络 198
7.1.2 基于VXLAN 的大二层SDN 网络 200
7.1.3 基于BGP 的三层SDN 网络 203
7.2 K8s 和容器化的实践 207
7.2.1 部署架构 207
7.2.2 网络 208
7.2.3 调度 209
7.2.4 存储 212
7.2.5 监控 214
7.2.6 容器化 215
7.3 混合云 217
7.3.1 混合云整体设计 218
7.3.2 混合云网络& 安全 220
7.3.3 混合云计费& 对账 222
7.3.4 混合云运维 224
7.4 持续交付 226
7.4.1 发布的艺术 226
7.4.2 Tars 系统设计 229
7.5 本章小结 232

第8 章 监控 233
8.1 指标监控和告警系统Hickwall 234
8.1.1 指标监控的应用和挑战 235
8.1.2 指标模型的选择 236
8.1.3 Hickwall 架构 238
8.2 开源分布式应用监控系统CAT 241
8.2.1 为什么需要应用监控系统 241
8.2.2 应用监控系统的特点 243
8.2.3 客户端实现解析 245
8.2.4 存储模型解析 247
8.3 公共日志服务平台CLog 250
8.3.1 日志系统的演进与特点 251
8.3.2 CLog 的架构 252
8.4 告警系统 257
8.4.1 告警系统的需求特点 258
8.4.2 流式告警的实现和处理 259
8.5 本章小结 263

第9 章 网站高可用 264
9.1 可用性指标与度量 265
9.1.1 Ctrip ATP 266
9.1.2 Ctrip ATP 算法 266
9.1.3 Ctrip ATP 架构 267
9.1.4 订单预测模型 268
9.2 服务熔断、限流与降级 270
9.2.1 微服务架构下的可用性 271
9.2.2 熔断、限流在携程的落地 272
9.2.3 熔断、限流的治理问题 274
9.3 灾备数据中心 276
9.3.1 冷备模式 277
9.3.2 热备模式 278
9.3.3 多活模式 278
9.4 网站单元化部署 281
9.4.1 单元化架构 282
9.4.2 单元化思路 283
9.5 基础组件支持 285
9.5.1 路由调度 285
9.5.2 数据复制 287
9.6 全链路压测 292
9.6.1 技术选型与系统设计 292
9.6.2 构造与隔离压测数据 295
9.6.3 全链路监控设计 295
9.7 运维工具高可用 296
9.7.1 哪些运维工具需要实现高可用 296
9.7.2 工具的改造 297
9.7.3 定期故障演练 300
9.8 混沌工程 300
9.8.1 混沌工程的起源 301
9.8.2 混沌工程的5 条原则 301
9.8.3 如何进行一个混沌实验 304
9.9 数据驱动运营 307
9.9.1 智能运维AIOps 308
9.9.2 AI 算法在运维领域的典型场景 309
9.9.3 运维数据仓库 312
9.10 GNOC 314
9.11 本章小结 319
展开全部

相关资料

基于业务形态和互联网行业的快速发展变化,携程的架构也在不断地演化。《携程架构实践》浓缩了携程的整体技术架构,帮助读者了解支撑一家大型企业所需要的核心技术产品、架构和面临的挑战。没有一劳永逸的架构,也没有□好的架构,希望通过本书,你能找到适合自己的架构。

携程集团执行副总裁、技术负责人 张晨



《携程架构实践》一书来自携程复杂的业务实践,有着非常实用的技术方□□,适用于互联网研发工程师、QA 工程师、DevOps 工程师。本书以携程在3 个阶段中所产出的技术模块为脉络,介绍了大前端、中间件、存储、PaaS、IaaS、监控等多方面的技术,均为架构领域的实用技术实践。在云时代日新月异的演进过程中,携程的架构实践非常有利于夯实技术的底蕴,厘清技术演进的主线,在更广阔的未来让自身技术立于不败之地。

百度前主任架构师、京东基础架构部架构师 韩超



我在《从零开始学架构》一书中用一章提炼了互联网公司的总体架构,但受限于篇幅和相关的保密要求,只能点到为止,无法详细介绍某个公司的架构。而本书提供了完美的架构案例,详细地阐述了携程的架构详情、演进过程、实践经验,其中大量的经验总结和思考非常具有指导意义。

互联网资深技术专家、《从零开始学架构》作者 李运华



关于架构,需要具有两个重要的属性:一是需要具有全局性,二是需要具有实践性。缺乏全局视角的架构,有些支离破碎;缺乏实践验证的架构,不能让人踏实。《携程架构实践》全面展现了一个被携程实践和验证过的大型互联网系统的完整架构,无论是用来学习研究还是参考借鉴,都非常有价值和意义。

《大型网站技术架构:核心原理与案例分析》作者 李智慧



架构一直在演进,现实世界的需求也越来越多样化,所以我们设计的架构需要解决现实生产环境的问题,并且需要适应各种各样的变化。本书结合携程技术实践的过程,涵盖从开发到运维,从组件到治理的多种维度,让读者可以借鉴并学会如何设计自己的应用架构,透析架构背后的原理,不仅知其然,还知其所以然。

《架构修炼之道》作者、京东技术专家 王新栋



本书系统性地介绍了大型互联网业务为面向全国甚至全球海量用户,提供7×24小时的不间断稳定服务所需的技术架构,其选材得当,结构清晰,颇具大局观。同时,每个模块都较好地汇集了当前行业的技术前沿。对于所有互联网业务的技术负责人及前后端各个方向的技术人员来说,本书都具有很高的参考价值。此外,基于携程的业务特色,本书对呼叫中心技术也进行了充分介绍。

网易副总裁、杭州研究院执行院长 汪源



系统架构的演进并没有捷径,需要不断地进行系统全景图的演进,并将复杂的事情简单化,使系统架构可持续发展。如果我们不进行系统化的思考,以及持续迭代、演进重构,则系统迟早会崩溃。这就需要我们持续地学习新的技术和领域知识,借鉴别人踩过的“坑”和遇到的技术难题,并将其转化为自己的武器库。本书系统性地总结了携程十几年的发展过程,给我们带来了不一样的“武器库”,强烈推荐大家品读学习。

《亿级流量网站架构核心技术》作者 张开涛



在云时代,IT 架构比以往任何时候都更加重要。好的架构不仅是设计出来的,更是在实践中演进成型的。本书难能可贵地为读者全方位展示了携程的整体技术架构和管理实践,对IT 从业者而言,具有很高的学习和参考价值。

AWS 首席云计算企业战略顾问 张侠

作者简介

携程技术团队

作为携程集团的核心竞争力,携程技术团队由近7000位来自海内外的精英工程师组成,为携程集团业务的运作和开拓提供全面技术支持,并以技术创新源源不断地为产品和服务创造价值。

技术从来都不是闭门造车,携程技术团队会一直以开放和充满热情的心态,通过各种渠道和方式,和圈内小伙伴们探讨、交流、碰撞,共同收获和成长。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航