一站式搜索服务平台-TSearcher柳明(洪震)@淘宝终搜
背景 终搜产品是什么诞生于淘宝-SNS,是一站式的全文搜索解决方案,起初只是支持部门内部的搜索需求。但随 着产品的不断完善和发展,逐渐支持了淘宝网,天猫、B2B、一淘、聚划算等事业部的100+的
应用搜索需求。
终搜提供了用户原始数据的一个结构化副本, 在副本上提供了多样的查询功能。业务方数据库 数据副本 云梯数 据
终搜
背景
产品规模终搜产品在阿里巴巴集团内部目前已经有将近300台的索引服务节 点,12台全量DUMP服务节点,支撑了120亿+的文档数,和每天峰 值在1亿+左右的查询请求。
发展轨迹 2009-2010 2010-2011 2012-至今
第三 阶段
技术关键字:平台化 业务规模:100+ 数据规模:120亿+
第二 阶段
技术关键字:Solr、Lucene、Zookeeper,Hadoop 数据规模:30+ 数据规模:30亿+
第一 阶段
技术关键字: Solr、Lucene,Zookeeper 业务规模:10+ 数据规模:5000W+
成长的烦恼 业务规模的增长终搜集群
聚划算事业部-技术部-开发一组 聚划算事业部-技术部-开发二组 应用2 应用1share1replica
天猫事业部-产品技术部-导购&垂直线 天猫事业部-产品技术部-会员营销 应用2 应用1share1replica
share2replica
share2replica
…. (1..n)replica replica
….
(1..n)
replica
replica
….
replica
replica
replica
replica
(1..n)
(1..n)
成长的烦恼 数据规模的增长数据规模-通用格式-通用格式
-通用格式-通用格式 -通用格式 -通用格式 -通用格式 -通用格式 文档数(万)
成长的烦恼 其他 业务实例索引配置变化频繁,归属机器需要重启生效 业务实例依赖配置和三方jar包无版本化管理,更新轨迹无法追踪。 业务需要在线扩容怎么办 检索节点宕机,导致检索服务不稳定怎么办
寻求思路
业务接入
容量扩容
索引构建
基础服务
平台化
业务管理
中心管理
平台化 定义和维护业务实例 状态信息收集 可视化状态信息 集群视图关系维护
管理协调
数据
全量任务分发并执行 源数据存储 索引回流 业务引擎维护 检索服务提供 状态信息汇报
检索
TSearcher
导入调度
集群状态信息收集维护 索 引 &机 器 视 图 关 系 维 护
可视化监控
业 务 实 例 维 护 &容 灾 扩 容 管 理 中心节点集群
实例管理
Job调 度 任务分配
搜索服务
Z o o k e e p e r
配置版本化 索引构建 后台 DUMP集群 存储中心
索引增量 搜索集群
TSearcher
ManagerNode
CoreNode
CoreNode
CoreNode CoreNode CoreNode
CoreNode
搜索集群4 CenterNode-Leader Default Network 2 1
HDFS3
Follower
Follower
中心节点集群
JobNode 1 2 3 4
心跳汇报、
指令获取 全量任务提交 源数据消费、全量索引回流TaskNode TaskNode TaskNode
全量索引拷贝
DUMP集 群
业务实例管理1
3
3
ManagerNode2
CenterNode-Leader2
CenterNode-Follower
CenterNode-Follower
3
4
4
3
3
4
4
3
CoreNode
CoreNode
CoreNode
CoreNode
1 2 3 4
后台触发业务实例操作指令 Fo ow r节点同步持久化源数据 ll e C re de o No 心跳获取执行任务 C eN e or od 领取任务执行
可视化监控
DUMP中心监控任务
提交任务
Client
JobNode
下
发
任
务
源数据
汇
报
状
态
TaskNode
TaskNode
TaskNode
目标存储源
DUMP中心文档构建层工作 文档 对象池
索引构建层 小索引 构建 小索引 构建
索引合并层
文档构建
Byte数 组池索引合 并程序
文档构建 源数据 文档构建空闲 文档 对象池
小索引 构建
小索引 对象池 磁盘索引
构建路径 资源路径
搜索&DUMP隔离1
ClientNode2
/all/0/20130114000000/search4XXX /all/0/output/20130114000000/index
HDFSsearch4A3 4
6 5
TaskNode
JobNode Task-Pool CenterNode-Leader CenterNode-Leader TaskNodesearch4A7 8 7
JobNode Task-Pool9 10
/all/0/20130114000000/search4XXX /all/0/output/20130114000000/index
HDFSs e arch4A-ne w13 5 11
源数据导入任 务 提 交 JobNode
2 4 6 8 10
全量任务提交分 配 全 量 任 务
TaskNode构 建 索 引 任务执行反馈 领取切换任务 新旧引擎切换
回流索引 提交索引切换任务 拷贝索引
IndexA-new
7 9 11
s e arch4A-old
IndexA-old CoreNode
