mq 面试题

作者: gstsyyb | 来源:发表于2020-05-28 20:51 被阅读0次

    一、mq的使用场景:
    ①、解耦 比如:订阅消息,异步处理逻辑
    ②、异步化处理 ,有些场景无需同步调用,可以通过消息队列异步处理
    无需直接依赖 jar,其次失败可以重试
    ③、削锋做一个缓冲,然后一个个处理
    大流量场景可以缓存处理请求
    ④、延迟队列
    ⑤、分布式事务
    本地事物表 + 消息队列 (轮询补偿)
    事务消息

    二、开发中如何保证消息有序性
    通常可以发送消息时,将其发送一个指定的分区,一般情况下消息都是局部有序的

    三、发送者写入消息,如何保证可靠性
    通常都是主数据和副本数据都写入成功,这种可保证数据不丢失,但性能一般,kafka 通过 ack 保证 leader 和 follower(副本节点) 都写入成功,rocketmq 写入时采用同步双写保证( 保证master 和 slave都写入成功)

    四、为什么kafka 读取写入非常高效
    1、批量写入、批量拉取
    2、零拷贝(磁盘映射,无用户态和内核态切换)、顺序写
    3、多路复用

    相关文章

      网友评论

        本文标题:mq 面试题

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