RabbitMQ基础入门

一、消息队列相关概念(MQ)

1.什么是消息队列。

   	消息队列,即MQ,Message Queue。MQ全称为Message Queue,消息队列(MQ)是一种应用程序对应用
   程序的通信的方法,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用链接
   来链接它们,消息传递是指程序之间通过在消息中发送数据进行通信,而不是直接调用彼此来通信,直接
   调用通常是用于通用是用户诸如远程过程调用的技术,排队是指应用程序通过队列来通信,队列的使用除
   去了接收和发生应用程序同时执行的要求。

注:消息队列是典型的:生产者、消费者模型。生产者不断的向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费则的解耦。
2. AMQP和JMS

MQ是消息通信的模型,并不是具体的实现,现在实现MQ的两种主流方式:AMQP、JMS。

	AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层
	协议的开放标准,为面向消息的中间件设计。基于此协议的客户端与中间消息件可以传递消息,并不受客户端/中间件
	的不
	同产品,不同开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

	JMS,即Java MessageService实际上是指JMS API。JMS是由Sun公司早期提出的消息标准,目的是为java
	应用提供统一的消息操作,包括create、send、receive等,JMS已经成为java Enterprise Edition的一部分,
	从使用的角度来看,JMS和JDBC担任差不多的角色,用户都是根据相应的接口可以和实现了JMS的服务进
	行通信,进行相关的操作。
	
	两者的区别和联系:
		①JMS是定义了统一的接口,来对消息操作进行了统一;AMQP是通过协议来统一数据交互的格式
		②JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的。
		②JMS规定了两种消息模型;而AMQP的消息模型更加丰富。

3.常见的MQ产品

	①ActiveMQ: 基于JMS
	②RabbitMQ:基于AMQP协议,erlang语言开发,稳定性好
	③RocketMQ:基于JMS,阿里巴巴产品,目前交由Apache基金会
	④Kafka: 分布式消息系统,高吞吐量

二、RabbitMQ的消息模型

1.RabbitMQ提供了6种消息模型,

三级目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值