消息中间件RabbitMQ知识点

1.rabbitmq 的使用场景有哪些?

  1. 解耦
  2. 削峰
  3. 异步处理
  4. 分布式应用之间的通信

2. rabbitmq 有哪些重要的角色?

  1. 生产者
  2. 消费者
  3. 代理

3. rabbitmq 有哪些重要的组件?

  1. Connection:  Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。
  2. Channel:Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。
  3. Queue:Queue(队列)是RabbitMQ的内部对象,用于存储消息。
  4. Message:由Header和Body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、由哪个Message Queue接受、优先级是多少等。而Body是真正需要传输的APP数据。
  5. Exchange(交换器):用于接受、分配消息。Exchange包含4种类型:Direct, Topic, Fanout, Headers。不同的类型,他们如何处理绑定到队列方面的行为会有所不同。                                                                                                                                           
  6. direct类型的Exchange路由规则也很简单,它会把消息路由到那些binding key与routing key完全匹配的Queue中。
  7. fanout类型的Exchange路由规则非常简单,它会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中。
  8. Topic类型前面讲到direct类型的Exchange路由规则是完全匹配binding key与routing key,但这种严格的匹配方式在很多情况下不能满足实际业务需求。topic类型的Exchange在匹配规则上进行了扩展,它与direct类型的Exchage相似,也是将消息路由到binding key与routing key相匹配的Queue中,但这里的匹配规则有些不同
  9. RPC:在一个大型的公司,系统由大大小小的服务构成,不同的团队维护不同的代码,部署在不同的机器。但是在做开发时候往往要用到其它团队的方法,因为已经有了实现。但是这些服务部署不同的机器上,想要调用就需要网络通信,这些代码繁琐且复杂,一不小心就会写的很低效。RPC协议定义了规划,其它的公司都给出了不同的实现。现在我们的客户端、服务端都是消息发布者与消息接收者。

4. rabbitmq 中 vhost 的作用是什么?

  1. 虚拟主机vhost,感觉他主要是起到了消息隔离的作用
  2. vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、绑定、交换器和权限控制。

11. rabbitmq 怎么实现延迟消息队列?

12. rabbitmq 集群有什么用?

13. rabbitmq 节点的类型有哪些?

14. rabbitmq 集群搭建需要注意哪些问题?

15. rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?

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

17. rabbitmq 对集群节点停止顺序有要求吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值