美文网首页
2.RabbitMq入门

2.RabbitMq入门

作者: 12点前睡觉hhh | 来源:发表于2019-05-27 18:52 被阅读0次

1.rabbitMQ模型架构

Producer:生产者,投递消息的一方。即ClientA和ClientB

生产者创建消息,发布到rabbitMQ。消息一般包括消息体和标签。

Consumer:消费者,接受消息的一方。即为Client1,2,3。

消费者连接到rabbitMQ服务器,并订阅到队列上。当消费者消费一条消息时,只消费消息的消息体。存入到队列中的消息也只有消息体,消费者并不知道生产者是谁。

Broker:消息中间件的服务节点

整个流程:

生产者将业务数据封装成消息

生产者将消息发送到Broker(Basic.publish)。

消费者订阅并接收消息(Basic.Get或Basic.consume), 经过可能的解包处理得到原始数据。之后再进行业务处理逻辑

业务处理逻辑不一定需要和接受消息的逻辑使用同一个线程。

消费者进程可以使用一个线程去接收消息,存入到内存中,比如BlockQueue。

业务处理逻辑使用另外一个线程从内存中读取数据。

2.队列

Queue:队列,是RabbitMQ的内部对象,用于存储消息。

RabbitMQ中的消息只能存储在队列中,消费者从队列中获取消息并消费。

多个消费者可以订阅到同一个队列,但是队列中的消息并不会广播,而是轮询给绑定的每一个消费者。

3.交换器、路由键、绑定

交换器:Exchange,生产者将消息发送到交换器,由交换器将消息路由到一个或者多个队列中。

路由键:Rountingkey,生产者将消息发送到交换器的时候,通常会指定一个RountingKey,用来指定消息的路由规则。

绑定:binding,RabbitMQ中通过绑定将交换器和队列关联起来

生产者将消息发送到交换器的时候,需要指定一个RountingKey。队列和交换器绑定的时候,需要一个BindingKey。当RountingKey和BindingKey相匹配时,消息才会传送到指定的队列。但是fanout类型的交换器(广播)会无视BindingKey,而是广播发送到绑定到它自己所有队列中。

4.交换器类型

fanout

广播类型,它会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中。

direct

它会把消息路由到那些RoutingKey和BindingKey完全匹配的队列中。

topic

相对于direct增加了*,#用于模糊查询。

相关文章

  • 2.RabbitMq入门

    1.rabbitMQ模型架构 Producer:生产者,投递消息的一方。即ClientA和ClientB 生产者创...

  • rabbitmq在Linux下安装

    1.安装Erlang 创建yum源 添加如下内容 安装Erlang 安装 socat 2.RabbitMQ 安装 ...

  • RabbitMQ扫盲

    本文目录: 1.RabbitMQ 简介2.RabbitMQ 应用场景3.RabbitMQ 系统架构4.Rabbit...

  • RabbitMQ

    1 常见MQ比较 2.RabbitMQ介绍2.1 介绍2.2 AMQP协议2.3 AMQP核心概念2.4 Rabb...

  • 2.RabbitMQ运行流程

    文章参考:Rabbit实战指南 交换机的类型 fanout它会把所有发送到该交换机的消息路由到所有与该交换机绑定的...

  • logstash的rabbitmq配置

    系统ubuntu16.04 1.elk的搭建 2.rabbitmq的安装与配置 3.修改logstash配置文件 ...

  • 太厉害了:阿里P7架构师的面试真题:RabbitMQ+Kafka

    一、程序员面试系列RabbitMQ专题 1.rabbitmq 的使用场景有哪些? 2.rabbitmq 有哪些重要...

  • 2018-03-01

    随记 1.多线程锁机制之ReentrankLock可重入锁2.RabbitMQ实现消息优先级机制 概况 粗略理解为...

  • 2.rabbitmq简单模式

    1.介绍 P:消息的生产者 C:消息的消费者 红色:队列 2.撸代码 倒入依赖包 获取MQ的连接 生产者发送消息到...

  • 2020-09-03

    1.支撑自动化组配置代理dmz区通测试域 代办事项 1.GPU云主机无法获取IP地址 2.rabbitmq升级 3...

网友评论

      本文标题:2.RabbitMq入门

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