ZeroMQ、ActiveMQ、Kafka三种消息队列在数据传输方面的对比和应用研究.doc

资料分类:理工论文 上传会员:月光影子 更新时间:2018-04-14
需要金币2000 个金币 资料包括:完整论文 下载论文
转换比率:金额 X 10=金币数量, 例100元=1000金币 论文字数:14949
折扣与优惠:团购最低可5折优惠 - 了解详情 论文格式:Word格式(*.doc)

摘要:如今,互联网已进入日常生活的各个方面,大数据影响到了生活的各个领域,如何找到一个性能好,延迟低,可靠性强的数据传输方式就显得至关重要。消息队列能够高效解决大规模系统中的信息传递问题,被很多的企业采用。

消息队列(Message Queue,简称MQ),是指在消息的传递过程中作为储存消息的容器。“消息”就是计算机进程间传输的信息。“队列”的作用在于提供路由以及确保消息的传输。若接收方未及时接收到新的消息,消息队列能够储存消息到成功传输为止。

本文将以ActiveMQ、Kafka、ZeroMQ这三种消息队列为例,介绍各自的功能及特点,并分别设计一段程序,测试128B、512B、1KB和10KB四个数据,发送接收50万次,每5万次记录一次执行时间,在多次条件相同的数据中取得均值。从吞吐量和消息延迟这两个指标入手,使用图表直观展示三种消息队列在传输数据时的优缺点。

综合对比发现,ZeroMQ适用于海量高实时性场景,在传输较小的数据时优势明显,在证券金融业及社交网络中应用广泛。ActiveMQ的传输受数据的影响较小,相比其他消息队列更为稳定,更适合传输较大的数据。ActiveMQ在跨平台跨语言的情况下优势明显,在电子商务中被较多使用。Kafka接收数据时吞吐量较大,更适合接收、收集数据,在日志收集、用户活动跟踪,以及消息推送等场景中有广泛应用。

 

关键词 消息队列;Kafka;ActiveMQ;ZeroMQ

 

目录

摘要

Abstract

1绪论-1

1.1 课题研究背景和意义-1

1.2 消息队列国外研究现状-1

1.3 消息队列国内研究现状-2

1.4 论文主要工作-2

1.5 论文结构与安排-2

2相关消息队列介绍-3

2.1 ZeroMQ-3

2.1.1 概述-3

2.1.2 特点-3

2.2 ActiveMQ-4

2.2.1 概述-4

2.2.2 特点-5

2.3 Kafka-5

2.3.1 概述-5

2.3.2 特点-6

3 测试设计与程序实现-7

3.1 测试设计-7

3.1.1 测试流程-7

3.1.2 测试数据-7

3.2 ZeroMQ-7

3.2.1 Pub发送端-7

3.2.2 Sub接收端-8

3.3 ActiveMQ-8

3.3.1 Sender发送端-8

3.3.2 Receiver接收端-8

3.4 Kafka-9

3.4.1 producer发送端-9

3.4.2 consumer接收端-9

4 数据分析-10

4.1 ZeroMQ数据分析-10

4.2 ActiveMQ数据分析-13

4.3 Kafka数据分析-15

4.4 性能对比-18

4.5 应用实例-19

5 应用场景-20

5.1 消息队列应用场景-20

5.1.1 异步处理-20

5.1.2 应用解耦-20

5.1.3 流量削峰-20

5.1.4 日志处理-20

5.2 ZeroMQ应用场景-21

5.2.1 数据流传输-21

5.2.2 服务器负载均衡-21

5.2.3 股票证券业-21

5.3 ActiveMQ应用场景-21

5.3.1 多客户端应用集成-21

5.3.2 替代RPC-21

5.3.3 异步流程-21

5.4 Kafka应用场景-22

5.4.1 日志收集-22

5.4.2 用户活动跟踪-22

5.5 企业实例-22

5.5.1 京东-22

5.5.2 阿里巴巴-22

5.6 综合对比-23

结论-25

致谢-26

参考文献-27

附录-28

附录1 完整程序-28

附录2 数据-35

相关论文资料:
最新评论
上传会员 月光影子 对本文的描述:本文以ActiveMQ、Kafka、ZeroMQ这三种主流消息队列为例,概述每种消息队列的功能及特点,并各设计一段程序,测试四个数据,各执行50万次,每5万次记录一次执行时间,从吞吐量和消息延......
发表评论 (我们特别支持正能量传递,您的参与就是我们最好的动力)
注册会员后发表精彩评论奖励积分,积分可以换金币,用于下载需要金币的原创资料。
您的昵称: 验证码: