RabbitMQ教程-面试

85 阅读1分钟

同步调用

  • 1.同步调用的优势是什么?
  • 答:时效性强,等待结果后才返回
  • 2.同步调用的问题是什么?
  • 答:拓展性差、性能下降、级联失败。

异步调用

image.png

优点
  • 解除耦合,拓展性强
  • 无需等待,性能好
  • 故障隔离
  • 缓存消息,流量消峰
缺点
  • 拿不到结果

MQ,存放消息的队列容器,先进先出

image.png

image.png

Java-SpringAMPQP

image.png

  • 引入依赖
  • image.png
  • 编写配置文件
  • image.png
  • 测试发消息
  • image.png

案例A

image.png

  • 消费者 image.png
  • 生产者 image.png
  • 看结果 image.png 结论和解决办法
  • 问题,性能慢?怎么办?
  • 答:
  1. 消息堆积,解决绑定多个消费者,设置prefetch来控制消费者预取消息数量,实现能者多劳
  2. 使用缓存
  3. 优化自己的Java代码 image.png

案例B

image.png

image.png

image.png

Java声明和创建

image.png

image.png

注解声明

image.png

消息转换器

    1. 作用:减少发送的对象体积

image.png

# MQ-高级

1. 发送者的可靠性

image.png

image.png

image.png

2. MQ的可靠性

  • 问题

image.png

  • 解决
  1. 数据持久化

image.png

  1. Java image.png

  2. 注解

image.png

3. 消费者的可靠性

image.png

image.png

image.png

image.png

image.png

image.png

image.png

4. 延迟消息

image.png

方式一

image.png

方式二

image.png

image.png

image.png