您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 基于RocketMQ的MQTT消息推送服务器分布式部署方案.pdf
  所属分类: 其它
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-09-13
  提 供 者: weixin_********
 详细说明:伴随着互联网的飞速发展, 特别是在近几年中, 移动互联网的发展更为迅猛. 在移动互联网中, 消息推送是其中很重要的一部分, 它是手机客户端信息发布和通信的重要方式. MQTT 协议是Android 系统中消息推送的实现技术之一, 由于其具有低功耗、节省流量和可扩展性强的优点, 目前已得到了众多应用. 同时, RocketMQ 作为一种分布式消息队列, 在服务器分布式部署上具有很大优势, 具有高性能、高可靠、高实时、分布式特点. 本文介绍了MQTT 协议与RocketMQ 的这种开源项目的应用, 并通过RocketMQ 与Mosquitto 相结合的方式, 实现了一种基于RocketMQ 的MQTT 消息推送服务器及其分布式部署.2018年第27卷第6期 http://www.c-s-a.org.cn 计算机系统应用 消息进行消费,并将 RocketMQ的Topi直接传递给3分布式部署结构 MQTT的Topi,即 topic rocketmq.并将Body和3服务器角色分配 QoS亘新按照MQTT格式进行封装,并且推送给订阅 对服务器的架构角色分配如表2所 了该卞题的客户端. 32服务器物理结构 RockctmQ RockctMo Chent 1 Mosquito 图3中,由于 Name server是一个几乎无状态节 1、发布 broker RocketMQ broker Mosquito Client 2 消息 点,故部署为集群,节点之间无任何消息同步11 、返后送3将消息 Producer与 Consumer完全无状态,集群部署 IoC 格式并发到总线 Producer选择 Name server集群中的一个随机节点建 沤回送 r7、将消恩 状态亻近行消费转换为8、发布到 立长连接. Consumer基本与 Producer相同,只是其要 MQT客户端 格式并9、返回 想提供 Topic服务的 Master、 Slave建立长连接并定时 发术「送达状态 发送心跳.其即可以从 Master订阅消息,也可以从 图2消息流程图 Slave订阅消息 表2服务器架构角色 IP地址 主机名 操作系统 角色 架构模式 172.17.21.8 rocketmg-master2 Centos 6.5 nameserver brokerserver Master 172.17219 rucketInul-slave2 Centos 6.5 brukerserver 172.17,21.10 ocketmq-master Ubuntu 16. 04 nameserver、 brokers Master 172.1721.11 rocketmq-slavel Ubuntu 16.04 brokerserver Slave 1 172.1721.14 ruckelrmc-narmeserver CentOs 6.5 timeserver Broker可分为 Master与 Slave,通过指定相同的 #f vim/etc/hosts Brokername,不同的 Brokered来定义 Master与 172.17.21.8 mqnameserverl Slave的对应关系.想要一个代理成为 Master,设置 172.17.21.10 mgnameserver 2 Brokered为0,设置 Brokered的值非0则为 Slave 172.17.21.14 mgnameserver3 Master可以部署多个.每个 Broker与 Name Server集群 172 17.21. 8 rocketmg-master2 中的所有节点建立长连接,定时向所有的 Name server 172. 17.21.9 rocketmq-slave2 注册 Topic信息 172. 17.21.10 rocketmq-master1 172. 17.21.11 rockelmg-slavel 由于篇幅有限,本文只举例说明 Master服务器配 Name Server: Name Server:Name Server 置,其余配置基本相同. l72.1721.14172.1721.10172.1721.8 vim/usr/local/rocketmq/conf/2m-noslave/broker brokerNamebroker-I Broker master: Broker slave # brokered为0为 Master,非零为 Slave 172.1721.10172.1721.11 Consumer Producer brokered=0 namesrvAddr-mqnameserverl: 9876, mqnameserver2 Broker Master2: Broker Slave 172.17.21.8172.17.21.9 876, mqnameserver3: 9876 store PathRootDir-/data/rocketmg/store 图3分布式部署结构图 storePath CommitLog-/data/rocketmq/store/commitlo 33服务器配置 sendMessage ThreadPoolNums=128 Host文件配置 pullMessage ThreadPoolNums=128 系统建设8 计算机系统应用 http://www.c-s-a.org.cn 2018年第27卷第6期 4消息服务器测试 保持一个稳定的状态,基本能够满足日常服务器需求 4.1单 Broker测试 42双 Master、双 Slave测试 本部分将对本文所设计的服务器在增加负我的情 接下来模拟大量用户进行连接,并在连接完成后 况下进行性能和鲁棒性的测试服务器配置如表3所示进行消息收发,测试其CPU占有率及消息全部送达所 需时间.测试结果如表4所小 表3服务器配置 参数 表4服务器性能测试结果 Intel corl 152, 3 ghz Connections CPU usage (%)1-100 push(s)1-1000 push(s)All push(s) 内存 64 GB 10000 14.61 0.093 0.112 11961 存储 T 20000 25.45 0.105 0.231 27235 Centos 6.5 30000 33.47 0.279 0.434 43.601 网卡 1000 Mbps 40000 0.394 0.673 66.81 50000 46.08 0.485 0.869 109.398 本文通过使用 Erlang语言开发的,开源测试工具 75000 55.21 0.676 .106 208.82 100000 63.50 0.843 1.431 315873 emqtt benchmark模拟客户端登永并发送消息对服务 器进行负载压力测试.测试网络结构图如图4所示.其 由表中数据可以得出,本文所设计的消息推送服 中,票色连接线代表网络连接,箭头表示数据流向 务器,响应速度基本满足当前移动互联网领域中的需 Broker 求,服务器负载也在可接受范围内.连接并发数量尚可, 服务器性能稳定 5总结与展望 本文在研究MQIT协议以及 RocketMQ的基础 上,论述了基」 RocketMQ的MQTT消息推送服务器 的设计,并对其进行了实现.本文重点阐述了消息推送 服务器的消息接收和发送、消息格式转换功能、消息 Terminal Terminal 推送服务器的性能测试,同时与客户端结合完成了消 息推送服务器的功能测试.最后根据测试结果可以看 Terminal Terminal 出,本文设计的服务器完成了消息收发、协议转换等 图4测试网络结构 功能要求,同时具有良好的抗压能力和鲁棒性 两台 terminal模拟用户起大量线稈,不间断的向 下一步的工作主要集中在提高服务器的并发处理 broker发送大小为2K的消息,测试结果如图5所示 能力上,同时进一步提高服务器的性能及鲁棒性 18000 16000 参考文献 14000 1架构说:阿里中间件技术消息中可件篇.htψp:/www.jiagoushuc 10000 com/articlc/1000 141. htmL. [2016-04-181 8000 6000 2 Apache RocketMQ: An open source distributed messaging 400 andstreamingdataplatformhttp:/rocketmq.apache.org[2016 2000 24681216202428 3Mosquitto.AnopensourceMqttV3.1/v3.1.1brokerhttp 线程数 mosquito. org/. [2015 图5TPS测试结果 4Kobcjayandy.Rockctmqai].http://blog.csdn.nct/kobcjay andy/article/details/52831213. [2016-10-16 通过测试,单机 Broker的TPS可达到15900左 5欧志芳.基于 RocketMQ实现异构数据库同步.网络安全技 石,继续增大消息发送量时,可以看到TPS有下降的趋势 术与应用,2016,(12):99-100.[doi:10.3969/isn.10096833 通过测试可以观测服务器在大量消息情况下依然能够 201612.066] 86系统建设 Systerm Corstruction
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: