消息中间件的研究(二) RabbitMQ应用场景分析

分析一下六个场景下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的集群模式,对日志进行分类收集。