RabbitMQ知识盘点【壹】_消息队列介绍及三种消息路由模式

本文介绍了RabbitMQ的基本概念和在分布式系统中的作用,包括异步RPC、性能拓展和日志告警等场景。内容涵盖RabbitMQ的组件(如生产者、消费者、交换器和队列)、AMQP协议以及三种消息路由模式:direct、fanout和topic。文中还提供了相关代码示例。
摘要由CSDN通过智能技术生成

最近在看消息队列的书籍,把一些收获总结一下。


首先说说什么是消息队列。这里就不说那种教科书的定义了,以我的理解,消息队列就是通过接收和发送消息,使不同的应用系统连接起来。实现了业务系统的解耦,也跨越了系统编写语言的限制。总结来说,消息队列在当下分布式系统中的应用场景可归纳如下:


1.异步RPC;

2.增强性能拓展性,并行处理不同业务;

3.构建日志告警系统,针对不同日志级别发送不同告警;


目前比较流行的消息队列框架有ActiveMQ、RabbitMQ、RocketMQ和Kafka等等。本篇先写写RabbitMQ,按照惯例还是推荐下面这本《RabbitMQ实战》,本文大部分内容总结于此(但此书是基于python语言实现的,特此说明):




RabbitMQ的介绍


RabbitMQ的设计之初就是为了解决金融业系统的分发消息问题的,这就奠定了它安全稳定的基础。而且在当下流行的开源消息队列解决方案中,它也可能是唯一一个遵循AMQP规范实现的(AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制)。


先说一下RabbitMQ的大体模型吧。RabbitMQ主要由生产者、消费者、消息、信道(channel)、交换器(exchange)和队列(queue)组成。


生产者先通过tcp连接到RabbitMQ服务器,然后在tcp连接中创建一条AMQP信道,信道中可以声明交换器、队列及它们之间的绑定关系(bind)。当信道的各种信息设置好后,就可以生产消息并发布到信道中了。


消费者也是同理,先连接到RabbitMQ服务器,建立一条tcp连接。当tcp连接打开后,消费者就可以创建一条AMQP信道(channel)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值