rabbitmq面试题

一、基本概念

  1. 消息发送和接收(在以前,没有绑定和交换的概念,只有发送和接收)
    1.1 生产者(p)创建消息,消费者©消费队列(先进先出)
    机制:监听、同时操作同一队列、
    注意:mq中.*代表匹配一个,而.#代表匹配多个

AMQP协议
概念:publisher–>Exchange–>queue–>channels–>consumer
在这里插入图片描述

1.Broker(消息队列实体,服务器)
包含virtual host(vhost)
2.Virtualhost 包括exchange(将信息绑定到队列中)和queue
一个链接(Connection)可以有多个通道(channel),虚拟主机,表示一批交换机、消息队列、和相关对象,虚拟主机共享相同的身份认证和加密环境的独立服务器域,迷你版mq服务器
3.Message:分消息头和消息体
消息体:不具体
消息头:存储routing-key(路由键),priority(相对于其他信息的优先权),delivery-mode(指出该消息可能需要持久存储)
4.Publisher:消息生产者,向交换机发布消息的客户端应用程序
5.Exchange: 交换机,接受生产者发送的消息,并路由给服务器中的队列,可以理解成路由表
6.Binding: 绑定,用于消息队列和交换机之间的关联,一个绑定基于路由键将交换机和消息队列连接起来的路由规则
7.Queue: 消息队列,用于保存消息直到发送给消费者
8.Connection: 一个TCP链接
9.Channel: 通路集合双向数据流,可读可写,不管发布消息,订阅消息,接受消息,都由信道完成,信道概念,复用TCP连接
10.Consumer: 队列中取得消息的客户端应用程序
在这里插入图片描述

二、Exchange类型(交换机)

消息类型不同,分发策略不同:
Direct:一一对应

bindingkey与routingkey一一对应,单播模式(精准匹配)

Fanout: (一对多),子网广播,用在可接受消息丢失的情况下,比如手机APP推送消息。
在这里插入图片描述

Topic: topic交换机与fanount类似,都需要携带BindingKey,消息也要携带routingkey,但是topic可以采用通配符替换bingdingkey,
在这里插入图片描述

消息不丢失策略
(1)事务
Channel.txSelect()开启事务
Channel.txCommit()提交事务
Channel.txRollback()回滚事务
(2)确认
手动确认
普通确认
批量确认

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级无敌暴龙战士塔塔开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值