RabbitMQ消息中间件初步了解

什么是消息队列?

消息队列(Message Queue)是开发中常见的中间件,是信息传输中保存信息的容器。是生产者、消费者模型。生产者向消息队列发送消息,消费者在消息队列中取消息消费。实现了解耦,不存在业务逻辑的侵入。它相当于是一个中介,主要进行信息的交换

业务场景

  • es检索数据中消息修改的同步。
  • 短信、邮件的发送。

AMQP和JMS

MQ是消息通信的模型,现在实现MQ的方式主要两种:AMQP、JMS。
两者间的区别和联系:

  • JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式
  • JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的。
  • JMS规定了两种消息模型;而AMQP的消息模型更加丰富

常见的MQ产品

  • ActiveMQ:基于JMS

  • RabbitMQ:基于AMQP协议,erlang语言开发,稳定性好

  • RocketMQ:基于JMS,阿里巴巴产品,目前交由Apache基金会

  • Kafka:分布式消息系统,高吞吐量

下载安装

因为RabbitMQ下载依托Erlang环境,所以需要安装对应版本的Erlang。
RabbitMQ下载地址:http://www.rabbitmq.com/download.html
RabbitMQ消息中间件初步了解_第1张图片

你可能感兴趣的:(java-rabbitmq,rabbitmq,java)