数据的来源不同,数据获取涉及的技术也不同。很多数据产生于网络设备,你会看到电信特有的探针技术,以及为获取网页数据常用的爬虫、采集日志数据的组件Flume;数据获取之后,为了方便分发给后面的系统处理,本节介绍常用的Kafka消息中间件。
从Kafka官方网站可以看到它的生态范围非常广,覆盖从发行版、流处理对接、Hadoop集成、搜索集成到周边组件,如管理、日志、发布、打包、AWS集成等。图2-1展示的是一个Kafka应用电信场景,生产数据中心和离线数据中心之间的数据同步。
图2-1 Kafka应用电信场景,生产数据中心和离线数据中心之间的数据同步
(一)Kafka性能
测试条件:
2 Linux boxes
16 2.0 GHz cores
6 7200 rpm SATA drive RAID 10
24GB memory
1 Gbit/s network link
200 byte messages
Producer batch size 200 messages
Producer batch size=40K
Consumer batch size=1MB
100 topics,broker flush interval=100K
Producer throughput=90 MB/sec
Consumer throughput=60 MB/sec
Consumer latency=220 ms(www.xing528.com)
(100 topics,1 producer,1 broker)
1.吞吐量和时延的关系如图2-2所示。
图2-2 吞吐量和时延的关系
2.Broker和吞吐量的关系如图2-3所示,基本呈线性扩展。
图2-3 Broker和吞吐量的关系
3.吞吐量和未消费数据的关系如图2-4所示。
图2-4 吞吐量和未消费数据的关系
(二)代码样例
1.Consumer
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。