Kafka宕机引发的高可用问题
问题要从一次Kafka的宕机开始说起。
笔者所在的是一家金融科技公司,但公司内部并没有采用在金融支付领域更为流行的RabbitMQ,而是采用了设计之初就为日志处理而生的Kafka,所以我一直很好奇Kafka的高可用实现和保障。从Kafka部署后,系统内部使用的Kafka一直运行稳定,没有出现不可用的情况。
但最近系统测试人员常反馈偶有Kafka消费者收不到消息的情况,登陆管理界面发现三个节点中有一个节点宕机挂掉了。但是按照高可用的理念,三个节点还有两个节点可用怎么就引起了整个集群的消费者都接收不到消息呢?
要解决这个问题,就要从Kafka的高可用实现开始讲起。
拼多多一面
首先自我介绍
参加过哪些项目
并发编程三要素?
实现可见性的方法有哪些?
多线程的价值?
创建线程的三种方式的对比?
画出线程的状态流转图
常用的并发工具类有哪些?
CyclicBarrier 和 CountDownLatch 的区别
CAS 的问题:1、CAS 容易造成 ABA 问题2、不能保证代码块的原子性3、CAS 造成 CPU 利用率增加
ReadWriteLock 是什么
一面面试题答案:
拼多多二面
自我介绍
什么是工厂模式?
如何实现单链表的增删操作?
让我说意思JVM的分