mq解决的问题
1 系统间解耦合
2 异构环境跨语言调用
3 rpc远程调用阻塞时间

mq缺点:
1 系统更复杂,引入一个mq组件;
2 调用路径变长,增加延迟时间;
3 不能获得执行结果;
4 消息可达性与不重性不能同时保证;

对比:

场景:

场景1: 数据驱动的任务依赖(统计分析任务)
1 不用设置buffer时间,效率高;
2 任务之间依赖关系清楚
3 更具上游任务执行完成时间驱动下游任务开始,好处是:上游执行时间变化,下游不用调整执行时间,上游执行超过了buffer,下游不会出错;

场景2: 不关心下游执行结果的调用(发帖)
1 上下游物理和逻辑解
2 上游执行速度快;
3 增加一个下游关注方,上游不用修改代码;

场景3: 异步返回执行时间长(跨公网或离线处理)
1 减少上游执行时间

一句话概括:削峰填谷,异步解耦

消息队列MQ的使用场景相关推荐

  1. 消息队列的使用场景_消息队列MQ的特点、选型及应用场景

    一.什么是消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列. 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可 ...

  2. 消息中间件系列(四):消息队列MQ的特点、选型、及应用场景详解

    前面集中谈了分布式缓存Redis系列: 高并发架构系列:分布式锁的由来.特点.及Redis分布式锁的实现详解 高并发架构系列:Redis并发竞争key的解决方案详解 高并发架构系列:Redis缓存和M ...

  3. MQ(消息队列)常见的应用场景解析

    MQ(消息队列)常见的应用场景解析 原文:MQ(消息队列)常见的应用场景解析 前言 提高系统性能首先考虑的是数据库的优化,之前一篇文章<数据库的使用你可能忽略了这些>中有提到过开发中,针对 ...

  4. 【消息队列MQ使用场景及测试点总结】

    消息队列MQ是一种应用程序对应用程序的通信方法.本质是一种先进先出的数据结构. MQ将消息持久化后,发送Ack消息给Client,此处有可能因为网络问题导致Ack消息无法发送到Client,那么Cli ...

  5. 消息队列MQ技术介绍

    一. 消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合.异步消息.流量削锋等问题.实现高性能.高可用.可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境, ...

  6. java队列_RPC远程调用和消息队列MQ的区别

    RPC和MQ同样都是用于分布式系统的两个很重要的技术,都有服务提供者.消费者的概念,可在一定程度上对系统进行解耦.但两者之间还是有区别的,本篇简单介绍~ 一.RPC RPC(Remote Proced ...

  7. 消息队列—简介以及使用场景

    一. RabbitMQ 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链 ...

  8. 详解RPC远程调用和消息队列MQ的区别

    谈到分布式架构,就不得不谈到分布式架构的基石RPC. 什么是RPC RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC服 ...

  9. 消息队列MQ夺命连环11问:kafka、rabbitmq、rocketmq、activemq

    <消息队列MQ如何保证消息的幂等性> <RabbitMQ架构> <ZeroMQ简介:一种高性能的异步消息传递库> <Rocketmq原理&最佳实践&g ...

最新文章

  1. 数据库收缩(sql2008)
  2. HTML meta标签总结
  3. https://wenku.baidu.com/view/1f9138e903d8ce2f01662306.html
  4. python numpy.ones(shape, dtype=None, order=’C’) empty(shape[, dtype, order]) empty_like(a) 空数组 全1数组
  5. spring+cxf调用webservice接口
  6. 明年的方向是JAVA+SAP
  7. 由归并算法引申出来的其他问题
  8. 评论中显示表情,苹果和安卓都一样
  9. [转]SpringMVCfrom:form表单标签和input表单标签简介
  10. Android语音识别开发详解(基于讯飞语音SDK)
  11. NRF52840 USB串口例程
  12. 使用selenium模拟登录QQ空间
  13. SpringCloud入门简介
  14. 在计算机中用于实现域名和IP地址转换的是,internet中用于实现域名和ip地址转换的是什么...
  15. ERROR: Pool overlaps with other one on this address space
  16. Python 爬虫 面试题
  17. linux 防火墙文件路径,linux防火墙设置
  18. hdu1877 又一版 A+B (栈)
  19. 怎样把gis锯齿边_在arcgis中如何消除锯齿状边缘
  20. Android快递轨迹查询 “KD快递查询”

热门文章

  1. 华为交换机常见IPSG操作
  2. 智能手表UX开发的4条基本经验
  3. IOS的画线方法 CGContext
  4. 洛丽塔服装怎么画?女生的衣服怎么画?
  5. 我的世界(5)-神奇宝贝服神兽刷新概率、时间(pixelmon模组)
  6. 记录一次美团+小米+VIPKId+CVTE的Java后台开发面试经历
  7. react项目实现antd动态主题切换
  8. 氮化镓充电器优缺点简介
  9. C++入门到精通。(二十、C++的数据结构)
  10. 控件重叠 关于WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(个人认为还是相当全面的)