Rabbit的工作原理

使用场景:
加入消息队列机制,数据会一个一个进队列,而不是大批量涌入把数据库搞宕机,本质上所有的消息队列机制都是削峰填谷,保障业务的正常使用。

选择RabbitMQ的原因:

  1. 实现了AMQP标准的消息服务器
  2. 持久化支持,保证数据的稳定性
  3. ERlang是为了电话交换机开发的语言,带有高并发特性,高可用特性;
  4. 部署简单

消息发送的原理:
应用程序会和Rabbit Server之间会创建一个TCP连接,认证主要是服务器的信息要匹配上,想jdbc连接,成功连接就会建立一条AMQP信道。

创建TCP连接和销毁TCP连接资源昂贵。

Rabbit包含的有:
ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用;
Channel(信道):消息推送使用的通道;
Exchange(交换器):用于接受、分配消息;
Queue(队列):用于存储生产者的消息;
RoutingKey(路由键):用于把生成者的数据分配到交换器上;
BindingKey(绑定键):用于把交换器的消息绑定到队列上;
Rabbit的工作原理