以下是淘宝云梯分布式计算平台的整体架构,由数据分析网整理自网络资料,供大家学习参考。

一、系统架构

1、系统整体架构

数据流向从上到下,从各数据源、Gateway、云梯、到各应用场景。

淘宝云梯分布式计算平台架构_淘宝云梯

2、淘宝云计算介绍

主要由数据源、数据平台、数据集群三部分构成。

淘宝云梯分布式计算平台架构_淘宝云梯_02

二、数据同步方案

1、数据同步方案——概览

淘宝云梯分布式计算平台架构_淘宝云梯_03

2、数据同步方案—— 实时同步VS非实时同步

淘宝云梯分布式计算平台架构_淘宝云梯_04

3、数据同步方案—— TimeTunnel2 介绍

TimeTunnel是一个实时数据传输平台,TimeTunnel的主要功能就是实时完成海量数据的交换,因此TimeTunnel的业务逻辑主 要也就有两个:一个是发布数据,将数据发送到TimeTunnel;一个是订阅数据,从TimeTunnel读取自己关心的数据。TimeTunnel作为一个实时数据传输平台具有以下特点:

  • 高效性:单点1k数据可以到4万TPS高可靠性:M-S模式时保证数据不丢失

  • 高可用性:单点故障不影响整个集群服务

  • 顺序性:当没有故障发生时,保证所有传输都
    是顺序的,或者说一次连接内的传输是顺序的。

淘宝云梯分布式计算平台架构_淘宝云梯_05

4、数据同步方案—— Dbsync 介绍

dbsync是一个用于同步服务库数据到HDFS的产品,通过分析数据库服务器的log文件来提取相应的数据库动作,进而达到数据库到HADOOP的数据同步,供相关部门提取增量数据。

淘宝云梯分布式计算平台架构_淘宝云梯_06

Dbsync实时同步性能

记录大小    速度

2K                 4M/s

9K                 10M/s

应用场景:数据量 800G,00:10分备库打开:非实时同步完成时间0:55,实时同步完成时间0:25。

5、数据同步方案—— DataX 介绍

DataX是一个在异构的数据容器之间交换数据的工具。用于在任意的数据处理系统(RDBMS/NoSql/FS)之间交换数据。

Framework+plugin,Framework处理了高速数据交换的大部分问题,插件提供对数据处理系统的访问。
运行模式 :stand-alone / on hadoop
Webui + cui 基于元数据的高效配置。例子:表A sharding为32个库,1024张表,配置时间<1 min

淘宝云梯分布式计算平台架构_淘宝云梯_07

DataX部分性能数据:

淘宝云梯分布式计算平台架构_淘宝云梯_08

三、调度系统

淘宝云梯分布式计算平台架构_淘宝云梯_09

1、调度系统——生产率银弹

淘宝云梯分布式计算平台架构_淘宝云梯_10

2、调度系统——模块/子系统

淘宝云梯分布式计算平台架构_淘宝云梯_11

3、调度系统——任务触发方式

Flow control/Data Trigger

淘宝云梯分布式计算平台架构_淘宝云梯_12

Time Trigger

淘宝云梯分布式计算平台架构_淘宝云梯_13

4、调度系统——调度方式

淘宝云梯分布式计算平台架构_淘宝云梯_14

5、调度系统——什么是Gateway? 参与天网调度的资源。


– 数据同步(dataX, DBSync,TimeTunnel2…)
– 数据上传/下载(hadoop fs –put/get/getmerge)
– 日志收集
– Hive sql语句提交运行
– MapReduce程序提交运行
– 集群间数据同步(hadoop distcp)

6、调度系统—— Gateway规模及规划

用于生产的Gateway约30台,由天网调度统一进行任务分发,并行控制。

  • 数据同步(dataX, DBSync,TimeTunnel2…)

  • 数据上传/下载(hadoop fs –put/get/getmerge)

  • 日志收集

  • Hive sql语句提交运行

  • MapReduce程序提交运行

  • 集群间数据同步(hadoop distcp)

7、调度系统——gateway standardization

淘宝云梯分布式计算平台架构_淘宝云梯_15

8、调度系统——Dynamic LB实现

淘宝云梯分布式计算平台架构_淘宝云梯_16

9、调度系统——优先级策略(实现)

淘宝云梯分布式计算平台架构_淘宝云梯_17

10、调度系统——优先级策略(意义)

淘宝云梯分布式计算平台架构_淘宝云梯_18

11、调度系统——监控全景

淘宝云梯分布式计算平台架构_淘宝云梯_19

四、元数据应用

淘宝云梯分布式计算平台架构_淘宝云梯_20

面对上面的问题,靠经验丰富的架构师?还是靠智能的分析系统?

1、挖掘元数据金矿

淘宝云梯分布式计算平台架构_淘宝云梯_21

2、基于元数据的开发平台

  • 自动生成代码/集成开发平台

  • 自动定位输入/自动代码

  • 优化/自动部署/自动调度

  • 配对分析/热点分

  • 析/字段变更影

  • 响/转换轨迹

  • 元数据

3、基于元数据的分析平台——运行分析系统

淘宝云梯分布式计算平台架构_淘宝云梯_22

4、基于元数据的分析平台——分析策略概览

淘宝云梯分布式计算平台架构_淘宝云梯_23

5、基于元数据的分析平台——运行数据收集

淘宝云梯分布式计算平台架构_淘宝云梯_24

6、基于元数据的分析平台——宏观分析策略

淘宝云梯分布式计算平台架构_淘宝云梯_25

7、基于元数据的分析平台——定位系统瓶颈

  • 每个环节的吞吐能力都是动态变化的。

  • 在某个特定时间区间内,整个系统的吞吐能力由吞吐能力最小的一个环节决定。

  • 如果需要发现系统的短板,需要对每个环节的吞吐曲线绘制出来。

  • 针对系统的短板进行重点优化。

  • 对于吞吐能力抖动比较大的环节,需要在前面设置队列进行缓冲。

瓶颈定位方法:

  • 1 每个环节的吞吐曲线

  • 2 两个环节之前缓冲队列的状态曲线

  • 3 统一单位到task级别

8、基于元数据的分析平台——最值得优化的任务

淘宝云梯分布式计算平台架构_淘宝云梯_26

从关键路径的角度考虑,任务A运行时间变化,对系统对影响可以用下图中阴影的面积来计算,它取决于下面


几个因素:

  • A 任务的当前运行时间——决定了当前位置的曲线斜率。

  • B 任务在几个叶子节点的关键路径上——决定了当前位置的曲线斜率。

  • C 其它关联任务的运行时间——决定A何时会离开某个关键路径,也就是决定了斜率的斜率。

 

淘宝云梯分布式计算平台架构_淘宝云梯_27

淘宝云梯分布式计算平台架构_淘宝云梯_28