zoukankan      html  css  js  c++  java
  • RabbitMQ基本概念

    1:基本概念

     连接:客户端和rabbitmq进行连接

     信道:使用TCP和rabbitmq进行连接的。连接的时候创建一个信道,保证每个线程的私密性。信道是可以重复多用的。

     生产者:就是生产消息,把消息放入到mq中

     消费者:mq把消息发送到指定的消费的地方

     消息:有效的数据。也可能是标签

     交换器:收到消息,根据不同路由键,放入到不同的队列当中

     队列:就消息投递给相对应的消费者

     绑定:就是将交换器和队列进行绑定

     路由键:生产者生产消息的时候,会带上路由键,发送给交换机。

    2:消息的确认

     消费者必须进行消息的确认(自动确认或手动确认)

     当没有消费者的时候,消息会一直存在rabbitmq中。

     当发送消息的时候,如果mq中没有路由键,消息则会直接丢弃。

     消息一般都是通过轮训的方式发送给消费者的。

    3:虚拟主机

     就是除了消费者和生产者,将其他的放到一起组成一个虚拟主机,虚拟主机可以有多个,也可以设置权限。生产者将消息发送给虚拟主机,虚拟主机在将消息发送给消费者。

    4:交换器

      direct:完全匹配。只有完全匹配的队列才能进入。

      fanout:全部发送。不管发送者和路由键是否匹配,进入全部的队列当中。

      topic:路由键中的*和#,A.# 像A.a、A.b都能匹配成功。#匹配多个,*只匹配一个(.分隔多个),路由键使用.分隔的,进入相对应的队列。

      header(direct):是根据headers和交换器进行匹配;数据可以是任何的数据类型;匹配规则x-match = all(全部匹配) any(主要有匹配就行)

  • 相关阅读:
    K8S之traefik高级特性
    docker nginx-php容器镜像瘦身优化
    Dubbo-服务消费者初始化
    ThreadLocal 源码分析
    JVM 对象分配规则
    JVM GC 机制
    LockSupport
    自旋锁
    CAS
    Synchronized 监视器锁
  • 原文地址:https://www.cnblogs.com/orange-time/p/11569473.html
Copyright © 2011-2022 走看看