分析一下六个场景下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. JQuery基本知识、选择器、事件、DOM操作、动画--2017年2月10日

    $(对象)可以将JS对象转换为JQuery对象  .get(0)可以将JQuery对象转换为JS对象 并无太大区别,灵活点出即可

  2. VBA记录当前系统时间并精确到毫秒

    想做个功能,点一次按钮,就在A1记录一次当前系统时间,要精确到毫秒的.再点一次按钮就在A2显示,以此类推! 例如:这个功能可以用来做歌词记时间! Sub ttt() ActiveCell.Select ...

  3. BZOJ4364:[IOI2014]Wall

    浅谈区间最值操作与历史最值问题:https://www.cnblogs.com/AKMer/p/10225100.html 题目传送门:https://lydsy.com/JudgeOnline/pr ...

  4. delphi 线程教学第一节:初识多线程

    第一节:初识多线程   1.为什么要学习多线程编程?   多线程(多个线程同时运行)编程,亦可称之为异步编程. 有了多线程,主界面才不会因为耗时代码而造成“假死“状态. 有了多线程,才能使多个任务同时 ...

  5. %.*s, printf

    %.*s_百度搜索 c语言%.*s是什么_百度知道 *用来指定宽度,对应一个整数 .(点)与后面的数合起来 是指定必须输出这个宽度,如果所输出的字符串长度大于这个数,则按此宽度输出,如果小于,则输出实 ...

  6. java不定参数列表---乔老师没讲,但是传智有讲

    **public static void sum(int i,int...srgs){** package com.xml; public class dremo1 { public static v ...

  7. Spring pom配置详解(转)

    转载至http://blog.csdn.net/ithomer/article/details/9332071# 原博主注释的很详细 <project xmlns="http://ma ...

  8. js链表操作

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. python的语法糖

    # -*- coding: utf-8 -*-def deco(func): print("before myfunc() called.") func() print(" ...

  10. Windows下安装MySQL压缩zip包

    MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之 ...