首页 > 其他分享 >RabbitMQ的名词

RabbitMQ的名词

时间:2023-10-11 23:57:59浏览次数:40  
标签:分发 名词 RabbitMQ TCP Connection channel Channel

 

        Broker:接收和分发消息的应用,RabbitMQ Server 就是 Message Broker Virtual host:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似 于网络中的 namespace 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出 多个 vhost,每个用户在自己的 vhost 创建 exchange/queue 等 Connection:publisher/consumer 和 broker 之间的 TCP 连接 Channel:如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立 TCP Connection 的开销将是巨大的,效率也较低。Channel 是在 connection 内部建立的逻辑连接,如果应用程 序支持多线程,通常每个 thread 创建单独的 channel 进行通讯,AMQP method 包含了 channel id 帮助客 户端和 message broker 识别 channel,所以 channel 之间是完全隔离的。Channel 作为轻量级的 Connection 极大减少了操作系统建立 TCP connection 的开销 Exchange:message 到达 broker 的第一站,根据分发规则,匹配查询表中的 routing key,分发 消息到 queue 中去。常用的类型有:direct (point-to-point), topic (publish-subscribe) and fanout (multicast) Queue:消息最终被送到这里等待 consumer 取走 Binding:exchange 和 queue 之间的虚拟连接,binding 中可以包含 routing key,Binding 信息被保 存到 exchange 中的查询表中,用于 message 的分发依据

标签:分发,名词,RabbitMQ,TCP,Connection,channel,Channel
From: https://www.cnblogs.com/qdcream/p/17758521.html

相关文章

  • k8s install rabbitmq
     1kubectlapply-f"https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml"2kubectlapply-fhttps://raw.githubusercontent.com/rabbitmq/cluster-operator/main/docs/examples/hello-world/rabbitmq.yaml3kube......
  • .net fromwork连接rabbitmq发布消息
    1、创建连接工厂类varfactory=newRabbitMQ.Client.ConnectionFactory(){HostName="120.237.72.46",UserName="admin",Password="admin",Port=5672,VirtualHost="/"};2、创建连接并发送数据using(varc......
  • SpringBoot+RabbitMQ+Redis 开发一个秒杀系统,细节打满(附源码)
    一、简易版秒杀SeckillProject系统简介开发技术二、实现细节记录1、用户密码两次MD5加密2、分布式session维持会话3、异常统一处理4、页面缓存+对象缓存5、页面静态化6、内存标记+Redis预减库存+RabbitMQ异步处理7、解决超卖8、接口限流三、效果展......
  • [异常处理]rabbitMQ 消费端异常进入死循环-消费消息时候抛出错误,控制台一直刷
    消费端一直在循环消费消>报错->消费.问题点也能想的来,因为默认是自动应答,异常了相当于是没有应答,然后就一直异常重新抛回队列进行投递.解决方案:第一种方法:对可能发生异常的部分try、catch;只要事先将问题catch住,就证明消费端已经将该问题消费掉,然后该消息就不存在于队列中......
  • SpringAMQP—入门案例消息发送(rabbitmq是一个存放消息队列的中转站,发布者将消息队列发
        ......
  • RabbitMQ 集群搭建和仲裁队列的使用
    RabbitMQ是基于Erlang语言开发的,该语言天然支持集群分布式模式,因此部署RabbitMQ集群非常简单。RabbitMQ的集群部署有两种模式:普通集群:又称为标准集群,是一种分布式集群,将队列分散到集群的各个节点,提高整个集群的并发能力。镜像集群:在普通集群的基础上,添加了主从备份功......
  • RabbitMQ 死信交换机、延迟队列、惰性队列
    如果一个队列设置了死信交换机,该队列的消息就有了极大的可靠性保障,当出现以下情况时,消息就会投递到死信交换机中:队列中的消息在被消费者处理后,抛出异常,返回了nack或者reject如果队列设置了ttl或者消息本身设置了ttl,消息因为超时而未消费队列容量已经满了,后续发来的消息......
  • RabbitMQ 消息发送和消费的可靠性保障
    在一些比较重要的场景中,我们必须要保障RabbitMQ消息的可靠性,也就是发送给rabbitmq的消息必须最终成功,消费者接收消息进行处理也必须最终成功。即使是中间失败了,也必须要有其它保障措施,哪怕最后进行人工进行干预处理。消息出现丢失的场景主要有:发送消息时丢失:比如消息发送到......
  • 安装Rabbitmq
    1、查看系统版本uname-a,centos7需要下载el7版本的安装包2、下载对应版本的erlang、socat、rabbitmq的rpm安装包,下载地址如下:1)https://github.com/rabbitmq/erlang-rpm/releases2)http://www.rpmfind.net/linux/rpm2html/search.php?query=socat(x86-64)3)https://github.com/r......
  • rabbitmq快速入门
    镜像启动命令dockerrun\-eRABBITMQ_DEFAULT_USER=root\-eRABBITMQ_DEFAULT_PASS=123456\--namemq\--hostnamemq1\-p15672:15672\-p5672:5672\-d\rabbitmq:3-management   ......