美文网首页
rabbitMQ的面试题

rabbitMQ的面试题

作者: 垂直居中的句号 | 来源:发表于2021-05-27 18:28 被阅读0次

    1.怎么保证消息顺序性
    借鉴 https://www.jianshu.com/p/02fdcb9e8784

    一个队列有多个消费者消费,顺序会乱。

    第一种:就是拆分多个 queue,每个 queue 对应一个 consumer(消费者),就是多一些 queue 而已,确实是麻烦点;第二种 : 就一个 queue 但是对应一个 consumer,然后这个 consumer 内部用内存队列做排队,然后分发给底层不同的 worker 来处理。

    2.消息堆积
    产生原因: 消费者消费的速度赶不上生产者生成的速度。或者消费者出现异常
    解决方法:
    增加消费者个数,多线程消费。
    借鉴 https://www.cnblogs.com/townsend/p/13663544.html
    (1)拆分MQ ,生产者一个MQ , 消费者一个MQ , 中间使用模拟处理分发程序。当消息挤压时,只需处理生成者的MQ
    .......
    https://www.jianshu.com/p/d62fb6a7f88e
    3.怎么保证消息不丢失
    产生原因:生产者在发送至MQ时,消息丢失。因为网络或其他原因。
    MQ将消息存在自己内存,还没有持久化,自己挂了。
    消费者收到了消息还没有处理,自己挂了,mq以为消费成功了
    解决方法: 开启rabbitMQ的事务 或开启confirm模式
    开启rabbitMQ持久化
    关闭rabbitMQ自动ACK.

    https://www.cnblogs.com/linjiqin/p/12683076.html

    相关文章

      网友评论

          本文标题:rabbitMQ的面试题

          本文链接:https://www.haomeiwen.com/subject/nnddsltx.html