美文网首页
消息队列入门

消息队列入门

作者: a丶逍遥子 | 来源:发表于2018-05-20 23:50 被阅读0次

概念

  • 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力

  • 消息服务中两个重要概念:

    消息代理(message broker)和目的地(destination)
    当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。
  • 消息队列主要有两种形式的目的地
    队列(queue):点对点消息通信(point-to-point)
    主题(topic):发布(publish)/订阅(subscribe)消息通信
  • 点对点式
    消息发送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后被移出队列
    消息只有唯一的发送者和接受者,但并不是说只能有一个接收者
  • 发布订阅式
    发送者(发布者)发送消息到主题,多个接收者(订阅者)监听(订阅)这个主题,那么就会在消息到达时同时收到消息
  • JMS(Java Message Service)JAVA消息服务
    基于JVM消息代理的规范。ActiveMQ、HornetMQ是JMS实现
  • AMQP(Advanced Message Queuing Protocol)
    高级消息队列协议,也是一个消息代理的规范,兼容JMS
RabbitMQ是AMQP的实现

JMS和AMQP区别

JMS AMQP
定义 Java Api 网络线级协议
跨语言
跨平台
Model 提供两种消息模型
1. Peer-2-Peer
2.Pub/sub
提供了五种消息模型:
(1)、direct exchange
(2)、fanout exchange
(3)、topic change
(4)、headers exchange
(5)、system exchange
本质来讲,后四种和JMS的pub/sub模型没有太大差别,仅是在路由机制上做了更详细的划分;
支持消息类型 TextMessage、 MapMessage、 BytesMessage、 StreamMessage、 ObjectMessage、 Message (只有消息头和属性) byte[]
当实际应用时,有复杂的消息,可以将消息序列化后发送。
综合评价 JMS 定义了JAVA API层面的标准;在java体系中,多个client均可以通过JMS进行交互,不需要应用修改代码,但是其对跨平台的支持较差; AMQP定义了wire-level层的协议标准;天然具有跨平台、跨语言特性。

相关文章

  • 项目笔记5-KafKa

    目前最好的异步消息队列处理器 阻塞队列 写一个生产者消费者模式,使用阻塞队列 Kafka入门 消息持久化:消息永久...

  • 消息队列入门

    概念 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力 消息服务中两个重要概念: 消息队列主要有两...

  • 消息队列Qpid入门

    本文将介绍一些使用Qpid需要了解的基础概念,不涉及Qpid的性能、安全、高可用、API等。包含的内容如下: Qp...

  • 消息队列入门

    消息队列功能介绍 字面上说的消息队列是数据结构中“先进先出”的一种数据结构,但是如果要求消除单点故障,保证消息传输...

  • SpringBoot入门建站全系列(十八)整合RabbitMQ(

    SpringBoot入门建站全系列(十八)整合RabbitMQ(AMQP类消息队列) 一、概述 1.1 简介 消息...

  • SpringBoot入门建站全系列(十七)整合ActiveMq(

    SpringBoot入门建站全系列(十七)整合ActiveMq(JMS类消息队列) 一、概述 消息中间件利用高效可...

  • 消息队列入门(二)

    今天我们以ActiveMQ为例进行一系列的学习 Apache ActiveMQ是Apache软件基金会所研发的开放...

  • 消息队列入门(一)

    消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一...

  • rabbitmq消息队列入门

    介绍 rabbitmq是一个消息代理,它接收和转发消息,类似一个邮局,把你投递的邮件送给指定收件人。相关术语: p...

  • 消息队列扫盲(RocketMQ 入门)

    消息队列扫盲 消息队列顾名思义就是存放消息的队列,队列我就不解释了,别告诉我你连队列都不知道似啥吧? 所以问题并不...

网友评论

      本文标题:消息队列入门

      本文链接:https://www.haomeiwen.com/subject/rukxjftx.html