【社区图书馆】携程架构与实践图书

news2024/12/29 8:00:53

发这篇博文主要是想学习一下携程的架构。携程出了一本《携程架构实践》,无奈现在还没开源。看京东价大概109元人民币。如果看到次博文的网友能发我一本《携程架构实践》pdf。不胜感谢。或者实体书籍也行。其实我不怎么需要实体书籍,因为技术的东西很快会过时。技术只是一时有用。

        一个好的架构就像一个好的制度,我们不会时时刻刻感受到它的存在,但在关键时刻,它决定了系统能够到达的高度。本书浓缩了携程公司的整个技术架构,可以帮助读者了解支撑一家大型企业所需要的核心技术产品,以及它们的架构和面临的挑战。本书由携程的一线研发工程师们精心编写,他们对携程各个领域的技术实践了如指掌,本书所提到的各种系统离不开他们的耕耘。在给读者呈现携程架构实践的同时,也希望本书能给读者带来一些警示和启发,共同推动技术的进步。不同领域的架构关注点各有侧重,但是方法论是相通的。希望读者通过本书了解携程的架构实践,拓宽视野,丰富自己的架构工具箱,在遇到难题时,看看其他领域的解决思路,就可能碰撞出意想不到的“火花”

书籍目录(摘自百度百科的介绍):

第1 章 携程整体技术架构 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

我们也可以通过目录大概知道携程架构大概做了些什么事情。
 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439782.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 IDEA 远程 Debug 调试

背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例。首先,启动springboot需要加上特定的参数。…

小白下载以后打不开怎么解决

我们重装系统时,大家会遇到各种各样的问题,现在有一些想用小白一键重装系统工具来帮助自己完成系统重装时,却发现我们打不开这个工具,现在不知道其原因有哪些,那么大家今天就来告诉小伙伴们小白一键重装官网下载以后打…

计算机概述

计算机: 硬件: CPU(Central Processing Unit,中央处理器)靠大脑思考,电脑靠CPU来运算、控制。硬盘(Hard Disk Drive) 计算机最主要的存储设备,容量大,断电数…

创新,阿里首发微服务实施手册我粉了,原来微服务还可以这样玩

微服务 相信大家在网上会看到很多帖子把分布式跟微服务放在一起讨论。确实,微服务就是一种分布式架构的设计方法。但是,在微服务概念还没有出现之前,分布式这个概念并不能引起人们的强烈关注,如果说自己擅长分布式架构设计&#…

TCP,TCP 连接建立,TCP 连接断开,Socket 编程

目录 TCP基本认识 TCP 头格式有哪些? 为什么需要 TCP 协议? TCP 工作在哪一层? 什么是 TCP ? 什么是 TCP 连接? #如何唯一确定一个 TCP 连接呢? UDP 和 TCP 有什么区别呢?分别的应用场景是…

【教学类-34-02】拼图(英文大写字母)3*2格子(中班主题《个别化拼图》偏艺术-美术)

作品展示: 背景需求 3*4块运动拼图对幼儿有点难(不熟悉图案内容、拼图数量多) 1、选择幼儿相对熟悉的的字母(26个,基本满足28人) 2、拼图数量:2*36块 3、做的小一点,一张2份&am…

【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 面试题1&#xff…

企企通项目入选《2023爱分析·供应链和采购数字化最佳实践案例》

近日,“2023爱分析供应链和采购数字化最佳实践案例”评选活动落下帷幕,主要围绕实践领先性、案例创新性、应用成熟度、价值创造四个维度对候选实践案例进行评选。企企通凭借自身丰富的采购供应链解决方案经验,以“迈金科技采购数字化管理平台…

美洽迈入“生成式AI时代”,开启智能客服新纪元!

生成式 AI,当前科技领域最热门的话题之一。 它指的是一类人工智能模型,可以根据输入的数据,自动生成新的数据或者输出一些有用的信息,例如:文本、图像、音频、视频等等。 在实际应用中,生成式AI可以帮助人…

“COMSOL电化学系列,锂离子电池仿真,燃料电池仿真

背景: 电化学仿真技术通过对电池微观行为进行研究,明晰电池内部多现象机理,并将其数值化,通过数值方法实现对物理特征联合计算,建立完整的电池模型。COMSOL Multiphysics具有强大的多物理场全耦合仿真分析功能、高效的…

Django框架介绍及搭建开发环境

介绍 是一个开放源代码的web应用框架,由python编写。 与常规的MVC架构不同,为MTV架构。 MTV Model(模型):负责业务对象和数据库的关系映射(ORM)。 Template(视图):负责把页面展示给用户(htm…

Win32API之实现远程线程注入(九)

什么是注入 注入是一种在不知情或未经许可的情况下向其他进程中注入模块并试图执行它们的技术 常见的注入方式有:远程线程注入、APC注入、消息钩子注入、注册表注入、导入表注入、输入法注入等等 什么是远程线程注入 远程线程注入是一种技术,可以将一…

前端vue之根据内容生成二维码

1.实现这功能需要借助第三方插件,首先下载安装插件: 我在终端直接下载 npm install vue-qr --save2.在需要的.vue文件中引入并注册组件 import VueQr from vue-qr; export default {components: {VueQr,},3.在需要用的位置使用该二维码标签 <vue-qr :logo-src"logoS…

自动控制原理模拟卷6

自动控制原理模拟题六 Question1 已知控制系统的信号流图如下图所示: 求控制系统传递函数 C ( s ) / R ( s ) C(s)/R(s) C(s)

[mars3d] 学习

今天整体说下mars3d&#xff0c;集成问题之后在说&#xff0c;先说下概念性的东西&#xff1b; 一、设置地球的参数 下载他们的示例&#xff0c;如果不是特别的要求&#xff0c;可以直接使用他们的 confign 进行加载&#xff1b; 如果有什么特别的设置的&#xff0c;可以通过…

Chapter6-可靠性优先的使用场景

6.1 顺序消息 顺序消息是指消息的消费顺序和产生顺序相同&#xff0c;在有些业务逻辑下&#xff0c;必须保证顺序 。 比如订单的生成 、付款、发货&#xff0c;这 3 个消息必须按顺序处理才行。顺序消息分为全局顺序消息和部分顺序消息&#xff0c;全局顺序消息指某个 Topic 下…

centos7.6部署ELK集群(一)之elasticsearch7.7.0集群部署

32.3. 部署es7.7.0 32.3.1. 下载es&#xff08;各节点都做&#xff09; wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz 32.3.2. 解压至安装目录&#xff08;各节点都做&#xff09; tar -xvf elasticsearch-7.7.0-li…

你的宝典,软件测试项目实战,金融项目测试点详全(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 测试要点 软件测试…

Locust 压力测试helloworld

1. 什么是Locust Locust 是一种易于使用、可直接使用pyhton编写脚本运行且可扩展的性能测试工具。 2. 安装Locust Python 3.9.16 pip install locust2.15.1 3. 一个简单的示例 3.1. 编写下面代码&#xff0c;文件命名为locustfile_test.py from locust import HttpUser,…

Python实现哈里斯鹰优化算法(HHO)优化卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO)&#xff0c;该算法有较强的全…