AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

MongoDB在快的打车关键业务中的应用 by 欧阳康

发布者 mongoconf   简介 MongoDB北京2014大会
发布于 1430229355606  浏览 8870 关键词 MongoDB, NoSQL 
分享到

第1页

MongoDB在快的打车关键业务中的应用
快的打车架构师:欧阳康

第2页

业务发展概况
公司成立,
8月“快的打车”上线运营
覆盖城市:70+
收购“大黄蜂”,开启商务车业务
“一号专车”上线
日订单:600w+
“一号专车”覆盖全国32个城市
“打车大战”

第3页

Update  4w+/s
Mongo应用之一:LBS
LBS
Http Server
Tcp Server
LBS Query  1w+/s
快的 LBS主要应用场景

第4页

Mongo应用之一:LBS
LBS可选方案
伸缩性难以实现
实时更新难以实现

第5页

Mongo应用之一:LBS
MongoDB as LBS Server
对实时更新支持较好
通过副本集可以很容易地实现读写分离及负载均衡
开发、部署较简单
快的LBS Mongo集群结构

第6页

Mongo应用之一:LBS
MongoDB as LBS Server
读写都很密集(4w+/s写,1w+/s读)时出现的问题:
从服务器 cpu负载急剧上升
查询性能急剧降低(大量查询耗时超过800毫秒)
查询吞吐量大幅降低
主从复制出现较大的延迟
原因:锁等待
建议:
1.行锁
2.实现类似于DB隔离级别的功能,低隔离级别下写无需加锁

第7页

Mongo应用之一:LBS
MongoDB as LBS Server
分片

第8页

Mongo应用之二:海量记录存储
乘客历史目的地
订单记录
快的业务数据概况(截止2014.11.16)
乘客数:2.7亿
历史目的地记录:42.8亿
总订单数:83.6亿

第9页

Mongo应用之二:海量记录存储
120 shards
 2 nodes/shard

第10页

MongoDB不足之处
写密集时性能下降较大(完全依赖操作系统VM,未实现 WAL)
不支持双向同步(灾备时需要做数据的双向同步)
增量抽取数据到其他存储系统(HBASE等)的支持较弱

第11页

Thanks!
支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。