博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《阿里如何实现秒级百万TPS?搜索离线大数据平台大数据平台架构解读》读后感...
阅读量:5153 次
发布时间:2019-06-13

本文共 1302 字,大约阅读时间需要 4 分钟。

  在使用淘宝时发现搜索框很神奇,它可以将将我们想要的商品全部查询出来,但是我们并感觉不到数据库查询的过程,速度很快。通过阅读这篇文章让我知道了搜索框背后包含着很多技术,对我以后的学习可能很有借鉴。

   平时都常用搜索框,应该用的都是在线搜索,应该是在数据库中查询信息。但什么是离线搜索呢?在阿里工程中把“将各种来源数据转换处理后送入搜索引擎等‘在线’服务的系统称为“离线”系统。离线系统是一个大数据系统,它有以下一些特点:

1.任务模型上区分全量和增量

(1)全量是指将搜索业务数据全部重新处理生成,并传送给在线引擎,一般是每天一次。这么做有两个原因:有业务数据是每日更新;引擎需要全量数据来高效的进行索引整理和预处理,提高在线服务效率。

(2)增量是将上游数据源实时发生的数据变化更新到在线引擎中。

(3)性能方面有较高要求。全量需要极高吞吐能力,确保数以亿计的数据可以在数小时内完成。增量则需要支持数万TPS秒级的实时性,还需要有极高的可用性。

2.需要支持多样化的输入和输出数据源,包括:Mysql,ODPS,TT等各种数据库和消息队列作为输入,搜索、Ranking、图、推荐等各种引擎作为输入。

3.需要提供一定能力的数据处理能力,例如多表Join、UDTF支持等,以方便搜索业务的开发和接入。

平台组件和任务流程

其中部分组件的简介如下:

    Maat:分布式任务调度平台,基于Airflow发展而来,主要改进点是调度性能优化、执行器FaaS化,容器化、API及调度功能扩展等四个部分,在保持对Airflow兼容的基础上,大幅提升性能,提高了稳定性。一个离线任务的多个Blink job会通过Maat建立依赖关系并进行调度。

   Bahamut:执行引擎,是整个离线天平的核心,负责离线任务的创建,调度,管理等各种

功能。

    Blink:Flink的阿里内部版本1,在大规模分布式,SQL,TableAPI,Batch上做了大量的优化和重构。离线平台的所有计算任务都是Blink job,包括stream和batch。

    Soman:UI模块,与Bahamut后端对接,提供任务信息展示、状态管理等可视化功能,也是用户创建应用的开发业务逻辑的主要入口。

    Catalog: 存储表信息管理,提供各种数据源表的DDL能力,负责离线平台存储资源的申请、释放、变更等各种功能。

    Hippo:阿里搜索自研的分布式资源管理和任务调度服务,类似于Yarn,提供Docker管理能力,主要服务于在线系统。

   Swift:阿里搜索自研高性能分布式消息队列,支持亿级别消息吞吐能力,存储后端为HDFS,存储计算分离架构。

搜索离线数据处理是一个典型的海量数据批次/实时计算结合的场景,搜索中台团队立足内部技术结合开源大数据存储和计算系统,针对自身业务和技术特点构建了搜索离线平台,提供复杂业务场景下单日批次处理千亿级数据,秒级实时百万TPS吞吐的计算能力。离线平台大幅提高了业务迭代的效率,成为搜索中台的重要组成部分。

 

 转载自文章:

    

 

转载于:https://www.cnblogs.com/wl2017/p/10507861.html

你可能感兴趣的文章
CreateUserWizard控件的详细使用说明(4)
查看>>
养动物
查看>>
批处理/DOS命令删除文件夹下某类型的文件
查看>>
模板 - 数学 - 矩阵快速幂
查看>>
优秀的持久层框架Mybatis,连接数据库快人一步
查看>>
线段树 延迟更新
查看>>
CentOS的IP配置专题
查看>>
基于WCF大型分布式系统的架构设计
查看>>
性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
查看>>
Cisco & H3C 交换机 DHCP 中继
查看>>
人脸识别技术及应用,二次开发了解一下
查看>>
理解CSS中的BFC(块级可视化上下文)[译]
查看>>
身份证号码的合法性校验
查看>>
Python基础--通用序列操作
查看>>
[CERC2017]Intrinsic Interval[scc+线段树优化建图]
查看>>
DevExpress DXperience Universal 11.1.6 下载+源码+编译+汉化流程+升级+替换强名
查看>>
每天一个linux命令(25):linux文件属性详解
查看>>
【XLL API 函数】xlSheetId
查看>>
架构之路(六):把框架拉出来
查看>>
Linux:Apache2.4以上配置默認路徑
查看>>