需要金币: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 |