• RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。框架
• ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket连接,它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。socket
• Channel是咱们与RabbitMQ打交道的最重要的一个接口,咱们大部分的业务操做是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。一个connection能够建立多个channel也就是信道,这些信道相互不影响,就像是一条光缆和一根光纤的关系;spa
• Queue : 存放消息的队列,先入先出,关注队列的消费者从队列中取出消息消费,若是多个消费者同时订阅同一个队列,那么消息会平均分配到多个消费者中间件
• Message acknowledgment(消息确认)对象
• 为了不消费者收到Queue中的消息,但没有处理完成就宕机(或出现其余意外)的状况,这种状况下就可能会致使消息丢失状况发生,能够要求消费者在消费完消息后发送一个回执给RabbitMQ,RabbitMQ收到消息回执(Message acknowledgment)后才将该消息从Queue中移除;若是RabbitMQ没有收到回执并检测到消费者的RabbitMQ链接断开,则RabbitMQ会将该消息发送给其余消费者(若是存在多个消费者)进行处理。这里不存在timeout概念,一个消费者处理消息时间再长也不会致使该消息被发送给其余消费者,除非它的RabbitMQ链接断开。接口
• 队列
参考连接 :消息队列
https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQit
来源 :JAVA烂猪皮io
https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQhttps://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQ