消息中间件及面试问题

rabbitmq
websocket
netty   xx通讯框架

1.redisTemplete key时编码过后的key,在其他的客户端去查询的时候查询不到数据
2.系统通知
3.为什么使用MQ,为什么要选择rabbitmq?使用MQ以后有什么好处和坏处
    解耦、异步、肖峰
    使用MQ系统后的可用性降低了,同时系统的复杂度提高了,还有一个就是一致性的问题
        (消息的重复消费、消息的乱序问题、消息的堆积问题)
        1.重复消费:做好接口的幂等性,数据库中数据一致(七种方案)
        2.乱序问题:多个客户端不能保证性能一致易出现乱序问题,所有采用一个客户端拉取并通过
Hash(id)%3==[0,2]计算分给后台的线程处理,在后台用多个线程处理(也加快了一定速度),同时对 同一个用户使用同一个线程去处理
        3.消息堆积:消费消息的能力低于生产的能力。
            从mq中读过来消息再创建一个mq,消费者中拉取信息到新的mq中(通过hash做消息分发),然后在mq里创建十个(个数任意)队列,每个队列建造一个消费者
    ActiveMQ:万级          毫秒级        较低概率丢消息
    RabbitMQ:万级(吞吐量)微秒级(延迟最低)    不丢消息(天生)
    RockerMQ:10万级          毫秒级        经过参数配置不丢失
    Kafka:10万级          毫秒级        经过参数配置不丢失

4.在你的开发生涯中有没有什么bug是特别难忘的
springboot springcloud double和zoolkeeper,
    在改造(升级)的过程中(double和zoolkeeper—>springcloud\springboot),eureka的问题,明显已经掉线了,没有把服务剔除掉,归因于其自我保护机制
    注册的时候没有把ip注册上去,导致服务调不通
    JVM内存溢出(20个线程在跑,业务量逐渐增大,20个线程变成了19个线程,线程池不会关即20个固定大小的线程池,以前不存在这种情况,分析JVM占用情况和日志,发现有一个线程被垃圾回收机制回收了)
    堆栈大小设置,若设置过小,其垃圾回收机制xx和xx会回收的很频繁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值