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

  • 需要金币2000 个金币
  • 资料包括:完整论文
  • 转换比率:金钱 X 10=金币数量, 即1元=10金币
  • 论文格式:Word格式(*.doc)
  • 更新时间:2018-04-14
  • 论文字数:14949
  • 当前位置论文阅览室 > 原创论文 > 文献综述 >
  • 课题来源:(月光影子)提供原创文章

支付并下载

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

消息队列(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