|
|
# 双十一项目总结
|
|
|
## 1.数据的采集。
|
|
|
在爬虫机器上通过logstash采集汇总到kafka队列里面。
|
|
|
## 2.数据的存储。
|
|
|
从kafka中读取数据到本地磁盘。通过data_pump多进程方式加快采集速度,进程数由1增加到12时,存储速度基本线性增长,勉强跟上数据收集的速度;
|
|
|
为了减少积压,还要继续增大进程数。进程数增加到24时,数据的消耗速度不在增长,经过评估云盘的性能,发现磁盘的未到瓶颈,怀疑是购买的阿里云kafka的性能限制,在升级了kafka配置后,速度明显增长。
|
|
|
## 3.数据的传输。
|
|
|
通过rsync工具每5min开启一次同步,通过进程锁保证最多只有一个进程在同步。flock命令。
|
|
|
flock -xn ${LOCK_FILE}/rsync.lock -c "rsync -auv --progress -e '${ID_RSA}' '${SOURCE}' '${LOCAL}'"
|
|
|
## 4.数据的入库。
|
|
|
data_pump实现了ES.writer的批量入库功能。可以通过多台机器多进程入库,单台机器(4核)机性能测试为3万条每分钟,16核心机器为10多万条每分钟。
|
|
|
|
|
|
## 各个环节的单元测试没有问题后 进行系统的测试:
|
|
|
在经过一轮的数据爬取后,预估淘宝天猫爬虫全开状态为的平均每一秒数据大小7M/S,在采集、 存储、传输、入库的性能测试后,发现数据传输环节是瓶颈,把百度云和阿里云2边的带宽同时增加100M,传输的平均性能是10M/s。这样就保障了各个环节的数据处理能力最少为10M/S, 可以满足爬虫的7M/S的数据。 |