专栏首页卯金刀GG【rabbitmq】的基础

【rabbitmq】的基础

百度关于MQ的基础定义:

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

MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。

1、队列、生产者、消费者

队列是RabbitMQ的内部对象,用于存储消息。生产者生产消息并投递到队列中,消费者可以从队列中获取消息并消费。 多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理。

2、Exchange、Binding

刚才我们看到生产者将消息投递到队列中,实际上这在RabbitMQ中这种事情永远都不会发生。实际的情况是,生产者将消息发送到Exchange,再通过Binding将Exchange与Queue关联起来。

3、Exchange Type、Bingding key、routing key

在绑定(Binding)Exchange与Queue的同时,一般会指定一个binding key。在绑定多个Queue到同一个Exchange的时候,这些Binding允许使用相同的binding key。

生产者在将消息发送给Exchange的时候,一般会指定一个routing key,来指定这个消息的路由规则,生产者就可以在发送消息给Exchange时,通过指定routing key来决定消息流向哪里。

RabbitMQ常用的Exchange Type有三种:fanout、direct、topic。

fanout:把所有发送到该Exchange的消息投递到所有与它绑定的队列中。

direct:把消息投递到那些binding key与routing key完全匹配的队列中。

topic:将消息路由到binding key与routing key模式匹配的队列中

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【spring源码解析】一个坑的问题解决方案

    本文转载自:http://blog.csdn.net/m0_37798534/article/details/79584031

    用户5640963
  • springboot 注解

      Spring Boot会自动根据你jar包的依赖来自动配置项目。例如当你项目下面有HSQLDB的依赖时,Spring   Boot会创建默认的内存数据库的数...

    用户5640963
  • (总结)Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。

    用户5640963
  • 当相亲遇上实时音视频会是怎样的碰撞?

    还有你想不到的,就是来自你妈妈最真挚的爱——翻看你朋友圈的自拍,选一张上好的,并在公园的相亲角准备把你给“拍卖”了。

    腾讯实时音视频
  • Spring Boot(十三)RabbitMQ安装与集成

    RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列,异步接收和发送消息,MQ的全程是:Message Queue中文的意...

    Java中文社群_老王
  • Cats(3)- freeK-Free编程更轻松,Free programming with freeK

       在上一节我们讨论了通过Coproduct来实现DSL组合:用一些功能简单的基础DSL组合成符合大型多复杂功能应用的DSL。但是我们发现:cats在处理多层...

    用户1150956
  • Spring Boot 整合 rabbitmq

    场景:用户注册,信息写入数据库后,需要给用户发送注册成功的邮件,再发送注册成功的邮件。

    程序员果果
  • 10.30 VR扫描:索尼在美国为AR系统Mitene申请专利;微软下一代HoloLens将更轻盈

    VRPinea
  • 圣丹斯电影节前瞻|新媒介短片、VR影片...New Frontier单元展示大量沉浸式体验

    在今年的奥斯卡最佳影片提名中,VR影视似乎显得有些冷清。在官方给出的名单中,没有出现任何一部VR作品。对于想要体验最新VR内容的小伙伴来说,这似乎让人不大愉快。...

    VRPinea
  • Git 项目推荐 | Go 语言读写 INI 文件工具包

    原文 http://git.oschina.net/Unknown/ini 主题 Git Go语言 本包提供了 Go 语言中读写 INI 文件的功能。 功能特...

    李海彬

扫码关注云+社区

领取腾讯云代金券