一站式搜索服务平台-TSearcher
Download
Report
Transcript 一站式搜索服务平台-TSearcher
一站式搜索服务平台-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
应用1
天猫事业部-产品技术部-导购&垂直线
天猫事业部-产品技术部-会员营销
应用2
应用1
share1
share2
share1
share2
replica
replica
replica
replica
….
(1..n)
replica
replica
replica
replica
(1..n)
….
(1..n)
replica
replica
replica
replica
(1..n)
….
成长的烦恼
数据规模的增长
数据规模
/通用格式
/通用格式
/通用格式
/通用格式
/通用格式
/通用格式
/通用格式
/通用格式
文档数(万)
成长的烦恼
其他
业务实例索引配置变化频繁,归属机器需要重启生效
业务实例依赖配置和三方jar包无版本化管理,更新轨迹无法追
踪。
业务需要在线扩容怎么办
检索节点宕机,导致检索服务不稳定怎么办
寻求思路
业务接入
容量扩容
索引构建
基础服务
业务管理
中心管理
平台化
平台化
管理
数据
协调
检索
定义和维护业务实例
状态信息收集
可视化状态信息
集群视图关系维护
全量任务分发并执行
源数据存储
索引回流
业务引擎维护
检索服务提供
状态信息汇报
TSearcher
¼È
¯º× ´Ì ¬Ð ÅÏ ¢Ê Õ¼ ί¬» ¤
µ ¼È ëµ ÷ ¶ È
Ë ÷Ò ý& » ú Æ ÷Ê ÓÍ ¼¹Ø Ï µ Î ¬ » ¤
¿ ÉÊ Ó» ¯ ¼ à¿ Ø
Ò µÎ ñ Ê µÀ ýÎ ¬ » ¤ & È ÝÔ ÖÀ ©È Ý¹Ü À í
ÖÐ
РĽ µ
Úã¼ È
¯º
Ê µÀ ý¹Ü À í
J o bµ ÷ ¶ È
Ë ÑË ÷· þ Î ñ
ÈÎ Îñ ·ÖÅ ä
Å äÖ Ã°æ ± ¾» ¯
Ë ÷Ò ýÔ öÁ ¿
Ë ÷Ò ý¹ ¹½ ¨
ºó ̨
D U M P¼ È
¯º
´ æ ´ ¢ Ö ÐÐ Ä
Ë ÑË ÷¼ È
¯º
Z
o
o
k
e
e
p
e
r
TSearcher
M a na g e rN o de
C o r e N o de
C o r e N o de
C o r e N o de
C o r e N o de
C o r e N o de
C o r e N o de
Ë ÑË ÷¼ ¯È º
4
C e nte r N o de - L e ade r
1
D e f ault N e two r k
H DFS
2
Fo llo we r
3
Fo llo we r
Ö ÐРĽ Úµ ã ¼ ¯È º
J o bN o de
1
Ð ÄÌ ø »ã ± ¨ ¡¢ Ö ¸Á î »ñ È ¡
2
È «Á ¿È ÎÎ ñ Ì á ½ »
3
Ô ´Ê ý¾ ÝÏ û ·Ñ ¡¢ È «Á ¿Ë ÷Ò ý»ØÁ ÷
4
È «Á ¿Ë ÷Ò ý¿½± ´
Tas kN o de
Tas kN o de
D U M P ¼ ¯È º
Tas kN o de
业务实例管理
1
3
3
ManagerNode
CenterNode-Leader
2
2
CenterNode-Follow er
CenterNode-Follow er
3
4
4
CoreNode
3
CoreNode
1
ºǫ́´¥·¢ÒµÎñʵÀý²Ù×÷Ö¸Áî
2
Follower½Úµãͬ²½³Ö¾Ã»¯Ô´Êý¾Ý
3
CoreNodeÐÄÌø»ñÈ¡Ö´ÐÐÈÎÎñ
4
CoreNodeÁìÈ¡ÈÎÎñÖ´ÐÐ
3
4
CoreNode
4
3
CoreNode
可视化监控
DUMP中心
¼ à¿ Ø È Î Î ñ
Ì á ½ »È Î Î ñ
JobN ode
»
ã
±
¨×
´Ì
Ï
¬
Â
·¢
È
ÎÎ
ñ
C lie n t
Ô ´Ê ý ¾ Ý
T askN ode
Ä ¿± ê ´ æ ´ ¢ Ô ´
T askN ode
T askN ode
DUMP中心
Ë ÷Òý¹¹ ½ ¨²ã
Îĵµ¹¹ ½ ¨²ã
Îĵµ¹¹ ½ ¨
¹¤ ×÷
ÎÄ µµ
¶ÔÏó ³Ø
Ð¡Ë ÷Òý
¹¹ ½ ¨
Ë ÷ÒýºÏ ²¢ ²ã
B yteÊý
×é ³Ø
Ë ÷ÒýºÏ
²¢ ³Ì Ðò
Ð¡Ë ÷Òý
¹¹ ½ ¨
Îĵµ¹¹ ½ ¨
Ô´Ê ý¾ Ý
Îĵµ¹¹ ½ ¨
¿ÕÏÐ
ÎÄ µµ
¶ÔÏó ³Ø
Ð¡Ë ÷Òý
¹¹ ½ ¨
Ð¡Ë ÷Òý
¶ÔÏó ³Ø
´Å ÅÌË ÷Òý
¹¹ ½ ¨Â·¾ ¶
×ÊԴ·¾ ¶
搜索&DUMP隔离
1
C lien tN o d e
/all/0/20130114000000/search4XXX
/all/0/output/20130114000000/index
HDF S
2
6
5
s e ar c h4 A
3
T as k N o d e
4
Jo b N o d e
T a s k -P o o l
C en terN o d e-L ead er
C en terN o d e-L ead er
T as k N o d e
s e ar c h4 A
7
7
8
Jo b N o d e
T a s k -P o o l
9
/all/0/20130114000000/search4XXX
/all/0/output/20130114000000/index
10
HDF S
s e arc h 4 A - n e w
1
3
5
In d e x A -n e w
11
7
9
11
s e a rc h 4 A - o ld
In d e x A -o ld
C o reN o d e
Ô ´Ê ý¾ ݵ ¼È ë
È Î Î ñ Ì á ½ »J o bNo de
Tas kN o d e ¹¹
½ ¨ Ë ÷Ò ý
È Î Î ñ Ö ´Ð з ´ À ¡
Á ì È ¡ Ç Ð» » È Î Î ñ
Р¾ ÉÒ ýÇ æÇ Ð» »
2
4
6
8
10
È «Á ¿È Î Î ñ Ì á ½ »
·Ö Å äÈ « Á ¿È Î Î ñ
» ØÁ ÷Ë ÷Ò ý
Ì á ½ »Ë ÷Ò ýÇ Ð» » È Î Î ñ
¿ ½± ´ Ë ÷Ò ý
实时增量
L e ad e r
F ollow er
fu lla t.in fo
flu s h a t.in fo
Ê µÊ ±Ð ´È ë
I n d e x S yn S e rv ic e
fu lla t.in fo
flu s h a t.in fo
C L S yn S e r ve r
C o m m it L o g
R a m In d e x
F u llIn d e x
C o m m itL o g
C L S yn C l i e n t
R a m In d e x
I n d e x S yn S e rv ic e
S u b In d e x
F u llIn d e x
S e ar c h S e r vi c e
S u b In d e x
S e a rc h S e rv ic e
F ollow er
fu lla t.in fo
flu s h a t.in fo
C L S yn C l i e n t
C o m m it L o g
R a m In d e x
I n d e x S yn S e rv ic e
F u llIn d e x
S u b In d e x
S e a rc h S e rvic e
H S F ¡ ¢ H TTP
扩容-垂直扩容
扩容-垂直扩容
扩容-水平扩容
扩容-水平扩容
¼ ì Ë ÷½ Úµ ã A
¼ ì Ë ÷½ Úµ ã B
Ò ýÇ æ³é Ï ó 0
Ò ýÇ æ³é Ï ó 1
× ÓË ÷Ò ý0
4 ,8 ,1 2 ,1 6
× ÓË ÷Ò ý2
2 ,6 ,1 0 ,1 4
¼ ìË ÷½ Úµ ã A
¼ ìË ÷½ Úµ ã C
Ò ýÇ æ³é Ïó 0
Ò ýÇ æ³é Ïó 2
4 ,8 ,1 2 ,1 6
2,6,10,14
2,6,10,14
× ÓË ÷Ò ý1
× ÓË ÷Ò ý3
1 ,5 ,9 ,1 3
3 ,7 ,1 1 ,1 5
¼ ìË ÷½ Úµ ã B
¼ ìË ÷½ Úµ ã D
Ò ýÇ æ³é Ïó 1
Ò ýÇ æ³é Ïó 3
1,5,9,13
3,7,11,15
3,7,11,15
容灾恢复
容灾恢复-机器推选
优先推选
规则2
优先推选
规则1
资源过滤
空闲资源
请求平均
响应时间
核心业务
业务
独占资源
Lucene版本
2倍索引
磁盘空间&
内存
Solr版本
版本匹配过
滤
磁盘容
量、
JVM内存
承载业务实
例副本
正在恢复
条件过滤
机器 Load
优先推选
规则2
查询优化-范围查询
doc19
doc20
doc21
doc18
doc17
doc16
doc15
doc14
doc13
fn2:[10 TO
100]
fn1:[100 TO 1000]
doc12
[f2[doc0]=10,f2[doc1]=11…,f2[doc5]=12…..,f2[doc7]=2,f2[doc9]=3,f2[doc10
]=9…]
doc11
doc10
doc9
doc7
doc5
doc2
doc1
doc8
doc6
doc4
doc3
doc0
[f1[doc0]=100,f1[doc1]=99,f1[doc2]=1001,f1[doc3]=201…,f1[doc5
]=1003…..]
查询优化-范围查询
doc0
RF_1
RF_2
0
0
doc1
1
doc127
127
doc128
128
doc255
255
Packet0
Packet1
PacketN
RF_3
0
RF_N
0
其他优化
自定义打分公式排序
热词查询优化
Dump导入提速
搜索大翻页查询改造
空间地理搜索
检索层新模型
ClientNode
CenterNode
HDFS
通讯层(HSF、 HTTP、webService、RPC)
Query Parser
Indexs
.META
Query Router
Searcher
Jvm Cache
监听
IndexConfig
Searcher
IndexSchema
……
IndexService
……
堆外 Cache
Indexlet
Reader
Cache Cache
Indexlet Indexlet
Indexlet
Reader
Cache
Cache
……
IndexSet
Index-0
Index-1
Index-2
Index-3
Index-4
Index-5
数据层
结束语
团队成员新浪微博:
@金钱松、@淘宝云就、@淘宝洪震、@李雨前、@淘宝
百岁、@笨鸟能先飞吗
产品的未来
开源
Q&A