![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
麦兜和小可的舅舅
Hadoop Engineer
Email: vico.wu1989@gmail.com
展开
-
从Kafka的一次broker假死介绍Kafka架构和DefaultPartitioner
最近公司的kafka集群出现了节点已经失效但是节点进程和端口都还在的情况,目前我们的系统监控只是做到了进程监控,即为整个集群的每台机群建立进程快照,如果进程(如NameNode、kakfa broker)丢失,则报警并立刻自动重启进程。但是这次的kafka事故进程和端口都还在,因此报警系统没有能够及时报警,因此对此次事故发生的过程和解决方式做详细的分析。 首先,我们一个同学使用kafka的过程中发...原创 2017-07-14 14:10:39 · 3426 阅读 · 0 评论 -
Fetcher: KafkaConsumer消息消费的管理者
KafkaConsumer委托Fetcher进行消费请求的发送、消费响应的处理以及消费数据的解析组装,Fetcher使用ConsumerNetworkClient进行底层网络通信。Fetcher基于事件的异步回调的良好设计,是Kafka可以以极高吞吐量消费消息以及在有消息的时候我们几乎感觉不到任何阻塞的重要原因。本文从源码入手,分析Fetcher的设计和架构,感受高性能、稳定、高可扩展的消息中间件的客户端代码。原创 2017-07-29 17:31:45 · 7609 阅读 · 0 评论 -
Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践
目录序言1. Kafka MirrorMaker基本特性2. 新旧Consumer API的使用问题3. 负载不均衡原因诊断以及问题解决4. 本身网络带宽限制问题5. 适当配置单次poll的消息总量和单次poll()的消息大小6. 恶劣网络环境下增加超时时间配置序言Kakfa MirrorMaker是Kafka 官方提供的跨数据中心的流数据同步方案。其实现原...原创 2017-08-09 22:22:39 · 11177 阅读 · 0 评论 -
基于Java NIO的Kafka底层网络层源码和架构
Kafka是数据和网络IO密集型组件,尤其是服务器端,基本要求就是数据传输和网络IO的高吞吐量和低系统开销。Kafka使用java NIO 封装了一套自己的底层网络层。从这些代码中,既可以看到基本的Java NIO的运行原理和使用方式,也能看到Kafka为了满足自身业务需求而进行的封装和扩展。本文从代码层面,详细解析Kafka底层网络层的具体实现。原创 2017-08-02 23:46:28 · 3957 阅读 · 0 评论 -
用Reactor模式构建的Kafka Server网络层和API层---架构和设计
1.前言从Yarn RPC Server到Kafka Server,凡是有高并发需求的服务端,无一例外采用了基于了Reactor设计模式。在我的博客《Hadoop RPC Server基于Reactor模式和Java NIO 的架构和原理》中,分析了Yarn的基于Reactor设计模式和Java NIO实现的RPC Server的架构和设计,而Kafka的Server端网络层也同样使用了R...原创 2017-08-19 22:01:19 · 2523 阅读 · 0 评论 -
Kafka为Consumer分派分区:RangeAssignor和RoundRobinAssignor
看过Kafka关于消费者的join Group的代码以后,我们可以知道,每一个Consumer的代理对象ConsumerCoordinator代表这个Consumer进行join Group操作,实际上是向GroupCoordinator发起JoinGroup请求。GroupCoordinator只负责告知Consumer其角色信息,即成为Leader还是Follower,并不负责分区分配,即管理...原创 2017-07-25 20:52:35 · 4685 阅读 · 0 评论