目前业务上需要选用合适的消息队列来做数据传输,因此特意调研了一下当下较主流的消息队列的各特点:

消息中间件三要素:生产者、消息、消费者。

衡量标准:生产者、消息、消费者三者的交互。

1.消息路由:消息如何经过消息中间件到达消费者。

2.消息可靠性:

2.1.不允许消息丢失

2.2.允许消息丢失,性能需求大于可靠性

3.消息重放:已经消费过的消息是否能设置某一时间间隔后重新被消费(适用于新系统导入旧数据,防数据丢失)

4.消息堆积:流量高峰期时,消息中间件在高并发投递消息时可能会出现问题,所以把消息暂存在中间件,等流量高峰过去,再投给下游业务

5.消息优先级:

5.1.消息投递顺序和消费顺序一致

5.2.可设置某些消息的消费优先级

6.性能和扩展

6.1.性能:主要指tps、qps以及并发连接数

6.2.扩展:通过添加消费者来提高消费速率、消息中间件的容量上限

鉴于目前我们业务是做数据传输,主要是需要保证数据的完整性,综合比较,选择了RabbitMQ。

较主流的消息队列的比较与选型相关推荐

  1. 消息中间件系列(三):主流的消息队列中间件有哪些?

    消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一. 当今市面上有很多主流的消息中间件,如老牌的Activ ...

  2. 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列

    [重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...

  3. Java面试汇总四 当下主流MQ消息队列的优缺点

    一.开发语言:1.Java是运行在JVM上的语言.2.erlang和最近比较火的和go语言一样是从代码级别就支持高并发的一种语言, 二.协议:1.RabbitMQ天生就有很高的并发性能,但是 有Rab ...

  4. 常见消息队列对比(ActiveMQ、ZeroMQ、kafka、RabbitMQ)?

    常见消息队列对比? 消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走. 通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息, ...

  5. 消息队列—经典5连问—你能抗几道?

    作者:熬夜不加班 链接:https://www.jianshu.com/p/2f57f4f43508 面试题1:说说你对消息队列的理解,消息队列为了解决什么问题? 追问1:消息队列有什么优缺点 面试题 ...

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

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

  7. 深入理解消息队列(场景,对比,原理和设计思想)

    导语 | 消息队列也通常称为消息中间件,提到消息队列,大部分互联网人或多或少都听过该名词.对于后端工程师而言,更是日常开发中必备的一项技能.随着大数据时代的到来,apache旗下的Kafka一度成为消 ...

  8. 消息队列背后的设计思想

    作者:jaydenwen,腾讯 PCG 后台开发工程师 消息队列也通常称为消息中间件,提到消息队列,大部分互联网人或多或少都听过该名词.对于后端工程师而言,更是日常开发中必备的一项技能.随着大数据时代 ...

  9. Python通过amqp消息队列协议中的Qpid实现数据通信

    简介: 这两天看了消息队列通信,打算在配置平台上应用起来.以前用过zeromq但是这东西太快了,还有就是rabbitmq有点大,新浪的朋友推荐了qpid,简单轻便.自己总结了下文档,大家可以瞅瞅. A ...

最新文章

  1. cpu开核_电脑魔改篇——CPU散热器
  2. mysql5建函数报1064错误,MySQL存储函数创建错误ERROR 1064和1327
  3. hibernate中对象的3种状态----瞬时态、持久态、脱管态
  4. 智能体行为建模与方法
  5. 你可能需要为你的 APP 适配 iOS 11
  6. 环信Demo 导入错误
  7. yolov5论文叫什么_熬夜写论文是一种怎样的体验
  8. Redis学习手册(目录)
  9. 关键词组合工具终结版标题自由组合工具使用教程
  10. java关键字有多少?
  11. 递归算法经典实例python-python实现十大经典算法
  12. 万能平板刷机软件_万能手机刷机软件下载
  13. 数据库模型设计——历史表与版本号设计
  14. 图片pdf合并软件:合并的方法介绍
  15. python 小工具 之 房贷计算器
  16. marquee参数详解
  17. 安卓中的AP、BP、NV是什么意思?
  18. 【开始和MySQL做朋友】——初识MySQL
  19. 概率论与数理统计 | 知识点总结(上)
  20. VC 6.0 GPIB编程,模块与综测仪通讯,实现自动测试

热门文章

  1. java同时输入输出buf_java输入输出流小细节
  2. 平均获客成本_获客成本创新高,英语流利说(LAIX.US)获客难流利
  3. mysql使用中遇到的问题吗_MySQL使用中遇到的问题及解决办法
  4. mysql 断开的管道_ClientAbortException: java.net.SocketException: 断开的管道
  5. qt同时两个动画执行_Qt实现数字滚动动画效果
  6. android获取当前应用占用的内存大小,Android分析已安装应用占用内存
  7. python为什么慢_python-为什么startswith比切片慢
  8. 模拟京东快递单号的查询效果
  9. Cadence 16.6 安装记录
  10. 通信系统之数字复接技术