0
点赞
收藏
分享

微信扫一扫

【Go】令牌桶限流算法

探头的新芽 03-17 22:30 阅读 3

前言

RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP)标准,提供可靠的消息传递机制。RabbitMQ可以用于在应用程序之间传递消息,实现不同应用系统之间的解耦和通信。它支持多种编程语言,并提供了丰富的功能和插件,使得开发者能够更轻松地构建分布式系统。RabbitMQ支持多种开放标准协议,包括AMQP 1.0和MQTT 5。

本节内容是对rabbitmq核心组件及其工作原理的介绍,方便我们更加清楚的使用rabbitmq作为消息中间键实现我们具体的业务场景。

正文

使用docker安装一个rabbitmq消息中间键

# latest RabbitMQ 3.13
docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management

 

rabbitmq的核心组件

①Broker(服务器)

  • rabbitmq的服务器,用于存储消息的服务器。

②Exchange(交换机)

  • 用于接收来自生产者的消息,并将这些消息路由到一个或多个与之绑定的队列。

③Queue(队列)

  • 用于存储消息的组件,为防止消息丢失,可持久化存储。

④Binding(绑定关系)

  • 定义了 Exchange 和 Queue 之间的关系,它指定了消息应该如何从 Exchange 路由到相应的队列。

⑤Connection(通信连接)

  • 客户端和RabbitMQ之间的TCP连接,用于消息的发送(生产者)或者消息的接收(发布者)。

⑥Channel(信道)

  • 在连接中创建的虚拟连接,用于执行大部分的 AMQP操作。

⑦Virtual host

  • 一个逻辑概念,它让 RabbitMQ可以在一台物理机上支持多个独立的消息代理实例。

rabbitmq的工作原理

发布消息:生产者producer通过Connection连接与broker服务器建立一个Channel信道,将消息发送给交换机Exchange,交换机通过路由键router-key将不同主题的消息通过路由键转发给消息队列Queue,消息被存储在Queue队列中,默认是内存存储,服务器重启消息会丢失,生产使用一般会开启持久化存储。

消费消息:消费者consumer通过Connection连接与broker服务器建立一个Channel信道,主动拉取或者通过服务器推送来消费消息。

结语

至此,关于rabbitmq的核心组件及其工作原理的内容到这里就结束了,我们下期见。。。。。。

举报

相关推荐

0 条评论