一、点对点(queue)模型:

消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意: 
(1)消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。 
(2)Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。

二、发布/订阅(topic)模型:

消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。

生产者发送一条消息到queue,只有一个消费者能收到。

发布者发送到topic的消息,只有订阅了topic的订阅者才会收到消息。

三、小结

1、queue实现了负载均衡,一个消息只能被一个消费者接受,当没有消费者可用时,这个消息会被保存直到有 一个可用的消费者,一个queue可以有很多消费者,他们之间实现了负载均衡, 所以Queue实现了一个可靠的负载均衡。 
2、topic实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都能得到这个消息,所以从1到N个订阅者都能得到一个消息的拷贝, 只有在消息代理收到消息时有一个有效订阅时的订阅者才能得到这个消息的拷贝。

两种消息模型: 点对点(queue)发布/订阅(topic)相关推荐

  1. JMS的两种消息模型(Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub))应用举例

    http://wuzhaohuixy-qq-com.iteye.com/blog/908395 1.P2P模型 在P2P模型中,有下列概念:消息队列(Queue).发送者(Sender).接收者(Re ...

  2. Redis的两种消息模式

    Redis的两种消息模式 队列模式 发布订阅模式 队列模式 队列模式下每个消费者可以同时从多个服务器读取消息,但是每个消息只能被一个消费者读取. 在队列模式下其实每次插入的数据都是载入在最前面的,而先 ...

  3. 消息队列中点对点与发布订阅区别

    背景知识 JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914).2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1 ...

  4. 消息队列中点对点与发布订阅区别(good)

    背景知识 JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914).2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1 ...

  5. day72 JavaWeb框架阶段——RabbitMQ消息队列【了解常见的MQ产品,了解RabbitMQ的5种消息模型,会使用Spring AMQP】

    文章目录 0.学习目标 1.RabbitMQ 1.1.搜索与商品服务的问题 1.2.消息队列(MQ) 1.2.1.什么是消息队列 1.2.2.AMQP和JMS 1.2.3.常见MQ产品 1.2.4.R ...

  6. jms pub/sub模型_JMS消息传递模型:点对点和发布/订阅

    jms pub/sub模型 In this post, we are going to discuss Messaging Models supported by Java Messaging Sys ...

  7. kafka 基础知识梳理-kafka是一种高吞吐量的分布式发布订阅消息系统

    一.kafka 简介 今社会各种应用系统诸如商业.社交.搜索.浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战: 如何收集这些巨大的信息 如何分析它 如何及时做到如上两点 ...

  8. ActiveMQ的两种消息模式及实现代码

    消息列队有两种消息模式,一种是点对点的消息模式,还有一种就是订阅的模式. (1).点对点方式(point-to-point) 点对点的消息发送方式主要建立在 Message Queue,Sender, ...

  9. springboot整合ActiveMQ(点对点和发布订阅)

    springboot整合ActiveMQ(点对点和发布订阅) ActiveMQ是什么,为什么使用MQ 是基于 Java 中的 JMS 消息服务规范实现的一个消息中间件. 1.系统解耦 采用中间件之后, ...

  10. SpringBoot整合RabbitMQ 实现五种消息模型

    目录 SpringBoot中使用RabbitMQ 搭建初始环境 引入依赖 配置配置文件 测试类 注入 rabbitTemplate 消息队列RabbitMQ之五种消息模型 第一种直连模型使用 开发生产 ...

最新文章

  1. 我也转发一个关于特斯拉的文章
  2. 趋势修改服务器地址,趋势客户端修改连接服务器
  3. 技术型产品经理与系统设计
  4. 伪类的使用之如何在一段文字前面添加一个点
  5. hadoop2.20+hive+sqoop+mysql数据处理案例
  6. 【做题记录】 [JLOI2011]不等式组
  7. php 接口日志,PHP 开发 APP 接口--错误日志接口
  8. 搜索 —— 广搜的优化技巧
  9. 湖北省计算机技能高考c语言试题及答案,最新湖北省技能高考C语言测试题
  10. Url ReWriting
  11. 性能测试诊断分析与优化培训资料打包下载
  12. html鼠标变成小手_什么牌子的鼠标好用?2020双十一鼠标选购建议和产品推荐
  13. word 的脚注横线和文字怎么调整为左对齐?
  14. windows2003视频教程
  15. 74CMS_v4.2.1-v4.2.129后台Getshell
  16. 关于解决“无法定位程序输入点于动态链接库”问题的思路
  17. Kubernetes Secrets
  18. ac68无线网卡 linux驱动下载,华硕ac68驱动|华硕USB-AC68无线网卡驱动下载 V2.1.2.1 官方版 - 比克尔下载...
  19. 暴力+格式转化+板子真题 蓝桥
  20. 【研发管理】三手项目 接盘时 必须要做的四件事

热门文章

  1. Ros学习笔记(一)创建工作空间
  2. Django2.0 path 正则匹配不出url的解决方法
  3. L1-005 考试座位号 (15 分)—团体程序设计天梯赛
  4. 笔记6:Django基础
  5. Django模板语言(DTL)
  6. Python中如何打印空行
  7. CCF 201604-4 游戏
  8. ASP.Net Web API 的参数绑定[翻译]
  9. poj 1503 Integer Inquiry (高精度运算)
  10. PPP认证原理和实验