JAVA开发与架构(携程架构实践)

news2025/1/17 15:30:52

发这篇博文主要是想学习一下携程的架构。携程出了一本《携程架构实践》,无奈现在还没开源。看京东价大概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/144931.html

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

相关文章

特种变色树脂T-46 CC

Tulsimer T-46 CC ISO-9001/ISO-14001/OHSAS-18000 特级强酸性阳离子交换树脂--(自变色树脂) Tulsimer T-46 CC 是一款专门研制的、优质的、强酸型的聚苯乙烯架构的阳离子交 换树脂,具有核子级磺酸官能团, 并同时拥有绝佳的物理及化学稳定品质&#x…

three.js 之 入门篇1

目录three.js 之 入门篇1:使用parcel搭建 three.js 开发环境2:运行一个简单的场景和物体2.1 main.js2.2效果3:轨道控制器和控制物体 mesh3.1 main.js3.2效果4:添加坐标辅助器 AxesHelper4.14.2效果5:设置几何体移动5.1…

深度学习 Day24——使用Pytorch环境实现mnist手写数字识别

深度学习 Day24——使用Pytorch环境实现mnist手写数字识别 文章目录深度学习 Day24——使用Pytorch环境实现mnist手写数字识别一、前言二、我的环境三、Pytorch简介四、前期工作1、导入依赖项和设置GPU2、导入数据3、加载数据4、数据可视化五、构建简单的CNN网络六、训练模型1、…

Spring的嵌套事务(Propagation.NESTED)到底是个啥

什么是嵌套事务 嵌套事务其实是对数据库SavePoint概念的Java操作版封装,什么是SavePoint参考我另一篇blog:juejin.cn/post/718544… SavePoint是数据库事务中的一个概念, 可以将整个事务切割为不同的小事务, 可以选择将状态回滚到某个小事务发生时的样…

Java图形化界面---AWT布局管理器

目录 一、布局管理器介绍 二、布局管理器用法 (1)FlowLayout (2)BorderLayout (3)GridLayout (4)CardLayout (5)BoxLayout 三、Box容器的讲解 一、布…

自主实现HTTP

"让我们,跳吧在无比宏达的星系!" 一、背景 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么…

STL list容器底层代码剖析、正向迭代器与反向迭代器的类的封装

目录 一、迭代器是什么 二、迭代器的本质 三、如何给一个容器实现迭代器功能 四、正向迭代器功能的具体实现 五、反向迭代器 六、list底层代码剖析 一、迭代器是什么 迭代器(iterator)有时又称光标(cursor)是程序设计的软件设…

【手写 Vue2.x 源码】第六篇 - 数据代理的实现

一,前言 上篇,主要介绍了 Vue 数据初始化流程中,数组类型的数据劫持是如何实现的,核心思路如下: 出于对性能的考虑,Vue 没有对数组采用 Object.defineProperty 进行递归劫持,而是对能够导致原…

NOSQL数据库习题

NOSQL数据库习题第一章第二章第三章第四章第五章NoSQL数据库上机测试第一章 1.写出DB、RDB、DBMS、TRDB、NoSQL、NewSQL、NDFS的中文名称。 答:DB:数据库 RDB:关系型数据库 DBMS:数据库管理系统 TRDB:传统关系型数据…

解决Shotgrid登陆不上, 上传出错,窗口卡住不动等问题

在使用Shotgrid时,是否遇到这种问题: accounts.autodesk.com出错 auth.autodesk.com出错 再或者这样出错: Shotgrid登陆出错 再再这样关闭Load…时这样出错, 窗口半天都关闭不了: 分析: 1 出现这种错…

(一分钟)激光SLAM扫描匹配 文献阅读

本博客介绍了激光SLAM扫描匹配的相关问题。编辑切换为居中添加图片注释,不超过 140 字(可选)扫描匹配也是数据关联类的问题,是SLAM里面的重要构成部分。编辑切换为居中添加图片注释,不超过 140 字(可选&…

PyTorch实例2——文本情绪分类器

实例主要用于熟悉相关模型,并且练习创建一个模型的步骤:数据收集、数据预处理、构建模型、训练模型、测试模型、观察模型表现、保存模型传送门:蓝桥云课实验 目录1. 实验环境2. 实验目的3. 相关原理4. 实验步骤4.1 数据收集从在线商城抓取评论…

OpenHarmony 标准系统HDF框架之I2C驱动开发

OpenHarmony 标准系统HDF框架之I2C驱动开发主要内容I2C 基础知识## I2C 基础知识 —— 概念和特性I2C 基础知识 —— 协议、四种信号组合I2C 调试手段## I2C 调试手段 —— 硬件I2C 调试手段 —— 软件HDF 框架下的 I2C 设备驱动## HDF 框架下的 I2C 设备驱动 —— 案例描述HDF…

Shell 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……实例以下实例我们向脚本传递三个参数&#xff…

ArcGIS Pro脚本工具(15)——按字段属性值分类导图

之前做了配合地图系列批量导图的脚本工具 ArcGIS Pro脚本工具(9)——配合地图系列批量导图_学学GIS的博客-CSDN博客_arcgispro批量导出地图pngPro的地图系列是批量制图的利器,但是有个不便的地方,就是设置完成地图系列后&#xf…

机器学习实战教程(13篇)

机器学习实战教程(13篇)这些网址非常适合想学习机器学习,却苦于没有项目(尤其缺少数据)的人。无意中看到,给自己做一个记录。机器学习实战教程(一):K-近邻算法(史诗级干货长文&#…

2022年度外设产品行业增长分析:鼠标、键盘同比增长27%

近年来,信息技术迅速发展,网民数量不断增长,深刻改变着社会的运作方式,对社会生产、商业运作模式等方面产生重大影响。广泛的行业应用为网络设备品牌商、制造商带来了差异化的细分市场,各类互联网设备接入数量也快速增…

混合空间增强

混合图像增强是一种图像处理技术,用于在不损失图像细节的情况下增强图像的对比度和亮度。它通常通过将图像拆分成多个通道,然后对每个通道进行独立处理来实现。 综合利用平滑滤波,锐化滤波,灰度拉伸等技术对图像进行处理&#xff…

【Linux】sudo给某条指令提权

sudo1.为什么要有sudo2.使用sudo提权的前提2. 在root下添加普通用户到信任列表3.验证4.总结1.为什么要有sudo 首先我们要知道,普通用户是受Linux的权限约束的。就比如普通用户对自己的家目录有完全管理的权限,但是不能随意查看其他人的家目录&#xff0c…

1.机器学习中的关键组件

1.机器学习中的关键组件 无论什么类型的机器学习问题,都会遇到这些组件: 可以用来学习的_数据_(data);如何转换数据的_模型_(model);一个_目标函数_(objective function…