Java-RabbitMQ

RabbitMQ使用场景

1、跨系统异步通信
2、多应用之间解耦
3、应用内流程同步变异步
4、整体架构即采用消息驱动
5、应用内部解耦

RabbitMQ内部角色

角色简介
生产者消息创建者
消费者消息接收者
代理RabbitMQ本身,用于存储转发消息,快递功能

RabbitMQ有哪些重要组件

组建简介
ConnectionFactory应用程序与RabbitMQ建立的连接管理器,在应用中使用
Channel消息推送使用的通道
Exchange用于接收、分配消息
Queue用于存储消息
RoutingKey把生产者生产的消息分配到Exchange上
BindingKey标记Exchange与Queue绑定规则

RabbitMQ的vhost作用

vhost用于隔离不用应用权限,实现一个RabbitMQ被多个不用的应用使用的功能

RabbitMQ消息如何发送

1、与RabbitMQ服务进行连接,客户端与RabbitMQ建立tcp连接,并通过人证
2、建立channel
3、发消息

RabbitMQ如何保证消息稳定性

1、事务功能
2、channel提供confirm功能

RabbitMQ如何保证不丢失消息

1、消息持久化
2、ACK确认机制
3、设置集群镜像模式
4、消息补偿机制

保证消息持久化的条件是哪些

1、声明队列必须声明durable设置为true
2、消息推送投递模式必须设置持久化,deliveryModel设置为持久
3、消息已经到达持久化交换器
4、消息已经到达持久化队列

RabbitMQ持久化有什么缺点

1、消息持久化会用到磁盘,此时吞吐量就会受到磁盘读写速度影响,可以通过更换高读写速度的磁盘来部分解决

RabbitMQ有几种广播类型

广播类型简介
fanout所有bind到Exchange的queue都可以接收消息
direct通过routingkey和Exchange决定那个queue唯一接受消息
topic所有符合routingkey(可以是个表示式)绑定规则的queue都可以接收消息

RabbitMQ怎么实现延迟消息队列

1、消息过期后进入死信消息队列,再由Exchange转发到延迟消息队列
2、使用插件(RabbitMQ-delayed-message-exchange)实现

RabbitMQ集群有什么用

1、实现高可用
2、实现高容量

RabbitMQ节点有哪些类型

节点类型简介
磁盘节点消息存储到磁盘
内存节点消息存储到内存中,重启会丢消息

RabbitMQ搭建集群需要注意哪些问题

1、各集群之间必须使用–link连接,此属性不能忽略
2、各节点使用的erlang cookie值必须相同,此值用于各节点之间认证
3、整个集群必须包含一个磁盘节点

RabbitMQ每个节点是其他节点的完整拷贝吗,为什么

RabbitMQ每个节点是其他节点的完整拷贝吗不是
为什么1、存储空间考虑
2、性能考虑

RabbitMQ集群中唯一一个磁盘节点崩溃了会发生什么情况

集群依然可以运行,但是已经出于不可用状态了,此时不能更改任何东西,且消息也无法实现持久化了

RabbitMQ对集群节点停止顺序有要求吗?

有,需要最后关闭磁盘节点,先关闭内存节点会导致消息丢失

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值