JAVA面试笔试之-MQ消息队列

1.消息队列的使用场景
             在分布式系统中是如何处理高并发的: 由于在高并发的环境下来不及同步处理用户发送的请求,
                                                                           则会导致请求发生阻塞(比如大量的inser、update请求。
                                                                           可能导致无数的行锁和表锁,甚至会导致请求堆积很多,
                                                                          从而去触发一个错误 too many connections)

2.消息的重发补偿解决思路

3.消息的幂等性解决思路

4.消息的堆积解决思路

5.自己如何实现消息队列

6.如何保证消息的有序性
  
7.交换机和队列是如何关联起来的?
         看交换机类型,除了Fanout 交换机之外, direct 和topic 模式的交换机通过 routingKey绑定; Fanout Exchange不处理任何的路由键,生产者只需要简单定义队列名称 和交换机名称,消费者定义获取相同的交换机名称就能消费消息;Fanout 交换机转发消息是最快的。

8.常见的消息中间件,区别。

   ActiveMq:

   KAFKA: 关注吞吐量,不支持事物。(强调高性能,对于消息的重复,丢失,错误没有严格要求)依赖于Zookeeper

   RocketMQ: 纯java语言编写,思路起源于KAFAKA,对于消息的可靠性及事务性做了优化。顺序消费。

   RabbitMq: 基于AMQP 协议实现,可靠,安全(金融行业选择)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值