一、应用场景及性能(在使用RocketMq之前我们要思考这框架能帮我们解决什么现实问题)
1、异步处理,将不是必须的业务逻辑,进行异步处理,比如注册之后短信、邮箱的发送2、应用解耦,订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。3、流量削锋,也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。3.1、可以控制活动的人数;3.2、可以缓解短时间内高流量压垮应用;3.3、用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;3.4、秒杀业务根据消息队列中的请求信息,再做后续处理。4、日志处理5、消息通讯消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。6、性能:RocketMQ单机也可以支持亿级的消息堆积能力单机写入TPS单实例约7万条/秒,单机部署3个Broker,可以跑到最高12万条/秒,消息大小10个字节二、RocketMQ网络部署图网络集群节点描述1、下载部署包aspnetandjava/9696958" target="_blank">alibaba-rocketmq-3.2.6.tar.gz2、将下载的包放入并解压到Linux系统指定目录中,在这里我以/home/目录为例,准备两台服务器分别为192.168.113.138、192.168.113.134 下面步骤就不区分是在哪台服务器进行操作了,步骤都是一样的-- 解压#tar -zxvfalibaba-rocketmq-3.2.6.tar.gz-- 修改配置文件由于我们采用的是异步复制模式,所以需要修改2m-2s-async配置内容,--2m-2s-sync 是代表同步复制模式 ,2m-noslave是代表单击模式#修改Master#vim /home/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties#修改Salves#vim /home/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties#nohup sh mqnamesrv 1>/home/alibaba-rocketmq/log/ng.log 2>/home/alibaba-rocketmq/log/ng-error.log &#nohup sh mqbroker -n 192.168.113.138:9876 -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties >/home/alibaba-rocketmq/log/mq.log &#nohup sh mqbroker -n 192.168.113.138:9876 -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties >/home/alibaba-rocketmq/log/mq.log &#nohup sh mqnamesrv 1>/home/alibaba-rocketmq/log/ng.log 2>/home/alibaba-rocketmq/log/ng-error.log &#nohup sh mqbroker -n 192.168.113.134:9876 -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties >/home/alibaba-rocketmq/log/mq.log &#nohup sh mqbroker -n 192.168.113.134:9876 -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties >/home/alibaba-rocketmq/log/mq.log &#jps查看是否有如下进程,如果有则服务启动成功:BrokerStartupNamesrvStartup关停服务命令:#sh mqshutdown namesrv#sh mqshutdown broker--查看所有消费组group#sh mqadmin consumerProgress -n 192.168.113.134:9876--看指定消费组下的所有topic数据堆积情况#sh mqadmin consumerProgress -n 192.168.113.134:9876 -g myProducer查看指定报文信息C0A8718A00002A9F000000000000F790 指的是报文在MQ队列中的MSG_ID#sh mqadmin queryMsgById -n 192.168.113.138:9876 -i C0A8718A00002A9F000000000000F790--查看Topic 列表信息#sh mqadmin topicList -n 192.168.113.138:9876--查看topic信息列表详情统计#sh mqadmin topicstatus -n 192.168.113.138:9876 -t Topic--查看集群消息#sh mqadmin clusterList -n 192.168.113.138:9876就爱阅读www.92to.com网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2016/12-06/13930256.html