• RabbitMQ-基本概念


    RabbitMQ:

    使用场景:

    异步通信、顺序消费、定时任务、请求削峰

    核心组件:

    1、Broker
    (消息队列服务器实体)
    2、Exchange
    (消息交换机)
    3、Queue
    (消息队列载体)
    4、Binding
    (绑定,把Exchange和Queue按照路由规则绑定)
    5、Routing Key
    (路由关键字,Exchange根据关键字进行消息投递)
    6、V Host
    (虚拟的Broker,为TCP虚拟连接,可以有多个。 Mini-RabbitMQ Server,有独立的2、3、4)v host 可以作为不同权限隔离的手段
    7、Producer
    (消息生产者):同步,异步,单向
    8、Consumer
    (消息消费者)
    9、Channel
    (消息通道,客户端的每个连接李,可建立多个channel,每个代表一个回话任务)
    由Exchange、Queue、RoutingKey三个才能决定一个从Exchange到Queue的唯一的线路。

    RabbitMQ工作模式:

    1、Simple(收发模式):
    Producer产生消息放入队列,Consumer监听并消费,需要设置手动ack防止消息丢失,但需要注意及时发送ack,否则会造成内存溢出。
    2、Work(资源竞争):
    Producer产生消息放入队列,多个Consumer监听并消费,先到先得。需要设置一个开关(Syncronize)保证一对一。否则会一个被多用。
    3、Publish/subscribe发布订阅(共享资源):
    Consumer监听自己的队列,生产消息给broke,由Exchange转发到绑定此交换机的每个队列,都能接收到消息
    4、routing路由模式:
    Producer将消息发送给Producer,Producer根据Routing key有选择的转发消息到匹配的queue
    5、topic主体模式(路由模式的一种):
    添加了模糊匹配(通配符*(多个)、#(单个))

    如何保证RabbitMQ消息的顺序性

    1、拆分多个queue,每个queue一个consumer,多个queue,麻烦
    2、就一个queue对应一个consumer,在consumer内部用内存队列做排队,分发给底层不同的worker处理

    消息的分发机制:

    1、默认轮询,当出现处理速度快慢不一致时,会出现处理速度快的空闲状态。
    2、不公平分发,能者多劳
    3、预值分发,预值满时停止发送,除非ack确认后。

    消息怎么路由:

    消息提供方→路由→一个或多个消息发布到交换器时,消息拥有一个路由键,在消息创建时设定。通过队列路由键,可以把队列绑定到交换器上。消息到达交换器后,
    RabbitMQ 会将消息的路由键与队列的路由键进行匹配(针对不同的交换器有不同的路由规则)

    消息路由:

    1、Fanout:收到消息,广播到所有绑定的队列上
    2、Direct:路由键完全匹配,投递到相应的队列上
    3、Topic:不同来源到同一个队列,支持通配符

    消息持久化:

    	消息发送之前写入磁盘上的持久化日志文件中,消费后把消息标记为等待垃圾收集状态,如果被消费之前重启,将自动重建交换器和队列,重新发布日志文件中的消息
    
    • 1

    消息基于什么传输:

    	使用信道的方式传输数据,信道建立在真实的TCP连接内的虚拟连接,且每条TCP连接上的信道数量没有限制
    	TCP方式开销大,且并发数受系统资源限制,会造成性能瓶颈。
    
    • 1
    • 2
  • 相关阅读:
    DPU网络开发SDK——DPDK(十五)
    基于JavaWeb的订餐管理系统的设计与实现
    【历史上的今天】11 月 22 日:PHP 创始人诞生;2020 年图灵奖得主出生;IE 2.0 发布
    Grafana系列-统一展示-7-ElasticSearch数据源
    2024-安装VMware® Workstation 17 Pro
    使用数字孪生实现电池管理系统 (BMS) 测试自动化
    (附源码)springboot音乐播放小程序 毕业设计 031306
    京东三面:我要查询千万级数据量的表,怎么操作?
    怎么样做好自己的服务器防御
    【Linux】——目录结构
  • 原文地址:https://blog.csdn.net/weixin_37081112/article/details/126709345