分析一下六个场景下RabbitMQ的应用:
  1.爬虫
  2.智能家居云平台
  3.电子商务系统
  4.实时监控系统
  5.海量日志的分布式处理
  6. 智能交通管控平台中数据分析子系统
 
 
1.爬虫
    在爬虫业务场景下,多个spider任务之间的进度不一样,合理利用了 Rabbit MQ 多队列、高时效性、高稳定性的特征对不同爬取迚度的任务进行有效管理
 
2.智能家居云平台
       智能家居场景中
       提出RabbitMQ在智能家居云平台分布式系统中可行的实现方案,构建了三种不同的通信交互模式。
       RabbitMQ三种通信方式具体应用
            耗时长的业务----“发后即忘”普通模式
            web页面上CRUD、websocket长连接之间的请求响应--RPC模式
            服务器日志等级的修改--发布订阅模式
 
       研究分析RabbitMQ的三种集群模式,搭建RabbitMQ集群架构。
       原有的分布式,集群架构设计系统间通信方式使得系统耦合严重,无法满足与平台不同模块之间越来越复杂的信息交互。RabbitMQ作为一种消息中间,发送者只需要将消息存入RabbitMQ服务器,而接收者只需要去除消息进行处理。实现系统之间解耦。
       三种集群模式
           默认集群模式
           镜像集群模式
           主备集群模式
    
 
3.电子商务系统
      利用RabbitMQ消息队列来完成电商复杂业务逻辑的处理 --Web层与业务逻辑层使用MQ进行消息分发,业务逻辑层进行处理
     
4.实时监控系统
       在实时监控系统中,....的场景
    传输子系统有两个接口,一个向上层用户提供消息服务的接口,一个是与RabbitMQ服务器的接口。向上层用户服务的接口定义了与上层用户交换数据的格式标准。
数据通信子系统与RabbitMQ服务器之间的接口遵循AMQP协议。服务端和客户端都需要发布和订阅,都具有消息发布者和消息订阅者双重角色。由于存在不同的通信模式,
在设计时,根据服务端和客户端的通信模型选型合适的交换器类型。
       当管理中心向远端站发出查询或控制指令时,可能会有一个或者多个远端站接收该指令进行动作,采用广播式交换器。
 
5.  基于rabbitmq的海量日志的分布式处理
   解决海量日志的分析问题。web日志数据具有海量、多样、异构、动态变化等特点。
  使用RabbitMQ搭建一个高可用集群模式,对于每个rabbitmq节点,根据日志种类建立相应的队列,并且根据日志种类的名建立exchange的key值
          
 
6.  智能交通管控平台中数据分析子系统
       一种基于智能交通管理控制集成平台的数据分析子系统的解决方案,该数据分析子系统将集成平台中其他
子系统产生的数据加以整合、分析、计算和重构,形成新的数据结构,在宏观角度上展现当前交通的整体运行状况,
还可以在流量和拥堵路段数等几个不同的维度上展示当前交通的维度信息。
       在消息传递采用RabbitMQ,在数据预处理模块,和数据接入的模块中间,担任数据中间传递介质。
 

总结:

  RabbitMQ多应用在系统之间的数据传递,在多模块场景下,会出现模块处理速度不一或者模块数据交互逻辑复杂影响后期的研发等问题,RQ常来用来帮助系统解耦,使得模块之间数据交换能够简单化;在应对应对短时高访问流量场景,利用RQ信息传输的可靠特性,RQ可作为缓冲层;在应对信息数量大,且信息处理可延时,例如系统海量日志数据处理场景,可建立RQ的集群模式,对日志进行分类收集。
 
 
 

消息中间件的研究(二) RabbitMQ应用场景分析的更多相关文章

  1. TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析

    TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...

  2. Fiddler实战深入研究(二)

    Fiddler实战深入研究(二) 阅读目录 Fiddler不能捕获chrome的session的设置 理解数据包统计 请求重定向(AutoResponder) Composer选项卡 Filters选 ...

  3. ThreadLocal的理解与应用场景分析

    对于Java ThreadLocal的理解与应用场景分析 一.对ThreadLocal理解 ThreadLocal提供一个方便的方式,可以根据不同的线程存放一些不同的特征属性,可以方便的在线程中进行存 ...

  4. Java 常用List集合使用场景分析

    Java 常用List集合使用场景分析 过年前的最后一篇,本章通过介绍ArrayList,LinkedList,Vector,CopyOnWriteArrayList 底层实现原理和四个集合的区别.让 ...

  5. RabbitMQ消息可靠性分析和应用

    RabbitMQ流程简介(带Exchange) RabbitMQ使用一些机制来保证可靠性,如持久化.消费确认及发布确认等. 先看以下这个图: P为生产者,X为中转站(Exchange),红色部分为消息 ...

  6. (转载)Fiddler实战深入研究(二)

    原文来源于:http://www.cnblogs.com/tugenhua0707/p/4637771.html,作者:涂根华 !个人觉得文章写的特别好,故收藏于此,感谢原作者的分享 Fiddler实 ...

  7. RabbitMQ消息可靠性分析

    消息中间件的可靠性是指对消息不丢失的保障程度:而消息中间件的可用性是指无故障运行的时间百分比,通常用几个 9 来衡量.不存在绝对的可靠性只能尽量趋向完美.并且通常可靠性也意味着影响性能和付出更大的成本 ...

  8. Fiddler实战深入研究(二)[转载]

    Fiddler实战深入研究(二) 阅读目录 Fiddler不能捕获chrome的session的设置 理解数据包统计 请求重定向(AutoResponder) Composer选项卡 Filters选 ...

  9. 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析

    关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析 在推行系统中,时不时会有用户提出希望系统能自动推送邮件,由于手头的工具和能力有限,不少需求都借助于sql se ...

随机推荐

  1. linux命令学习笔记(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作, 这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...

  2. 使用 nginx 和 rtmp 插件搭建视频直播和点播服务器

    使用 nginx 和 rtmp 模块 ,可以很容易地搭建一个视频直播和点播服务器出来. 首先,看一下最经典的参考文献: How to set up your own private RTMP serv ...

  3. Cannot resolve class or package 'springframework' less... (Ctrl+F1) Inspection info:Spring XML mode

    其实这个问题是由于MySQL 这个jar 包依赖类型默认是runtime ,也就是说只有运行时生效,所以虽然这里报错,但是不影响你代码运行. 解决方案: 将runtime 修改为Compile 即可 ...

  4. openfire存储中文字符乱码解决办法

    转载于: Xmpp问题总结:处理Openfire 中文乱码问题(2) openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL ...

  5. openfire服务器开发环境搭建

    2017-07-26 更新:直接获取最新版源码,就不会报错了,而且可支持的插件多,老版本的openfire几乎没有可用的官方插件. 系统及软件环境: MAC OSX EI Capitan 10.11. ...

  6. mysqllog

    -- mysql delete log online 1  mysql命令purge mysql> purge master logs to "mysql-bin.000410&quo ...

  7. virtual judge(专题一 简单搜索 E)

    Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...

  8. 【转】Pro Android学习笔记(十八):用户界面和控制(6):Adapter和AdapterView

    目录(?)[-] SimpleCursorAdapter 系统预置的layout ArrayAdapter 动态数据增插删排序 自定义TextView风格 其他Adapter AdapterView不 ...

  9. [jQuery] 按回车键实现登录

    Jquery按回车键提交实现登录的方式分为两种: 1.按钮提交 2.表单提交 1.按钮提交 $("#LoginIn").off('click').on('click', funct ...

  10. 开源一个windows消息队列查看器

    windows消息简单易用,在异步消息发送场景的使用还是比较适合.为了方便查看队列中的消息和删除一些异常消息,开发了一个简单的小工具拿出来分享下. 源码地址:https://gitee.com/eab ...