apache kafka系列之源码分析走读-server端网络架构分析
来源:互联网 发布:淘宝知识产权侵权案例 编辑:程序博客网 时间:2024/06/15 11:53
转载至:http://blog.csdn.net/lizhitao/article/details/38442733
笔者今天分析一下kafka网络架构,俗话说人无好的胫骨,就没有好的身体,建筑没有扎实可靠的结构框架,就不会屹立不倒。同样的服务端程序没有好的网络架构,其性能就会受到极大影响,其他方面再怎么优化,也会受限于此,那kafka网络架构是怎样的呢,它不是用的现今流行的netty,mina的高性能网络架构,而是自己基于Java nio开发的。
kafka网络架构图如下:
Kafka是典型SEDA(多阶段事务驱动模型)
这种架构正好符合Kafka设计要求,高吞吐量高性能要求,kafka客户端(producer和consuemr)与broker一般都是建立长连接。
1.对于broker来说,客户端连接数量有限,不会频繁新建大量连接。因此一个Acceptor thread线程处理新建连接绰绰有余。
2.Kafka高吐吞量,则要求broker接收和发送数据必须快速,因此用proccssor thread线程池处理,并把读取客户端数据转交给缓冲区,不会导致客户端请求大量堆积。
3.Kafka磁盘操作比较频繁会且有io阻塞或等待,IO Thread线程数量一般设置为proccssor thread num两倍,可以根据运行环境需要进行调节。
总结
IO处理不同阶段耗时和cpu消耗不同,因此需要配置不同线程。
0 0
- apache kafka系列之源码分析走读-server端网络架构分析
- apache kafka系列之源码分析走读-server端网络架构分析
- apache kafka系列之源码分析走读-SocketServer分析
- apache kafka系列之源码分析走读-kafkaApi详解
- apache kafka系列之源码分析走读-kafkaApi详解
- apache kafka系列之源码分析走读-kafka内部模块分析
- apache kafka系列之源码分析走读-kafka内部模块分析
- apache kafka源码分析走读-Producer分析
- apache kafka源码分析走读-ZookeeperConsumerConnector分析
- apache kafka源码分析走读-Producer分析
- apache kafka系列之性能优化架构分析
- Apache Spark源码走读之3 -- Task运行期之函数调用关系分析
- Apache Spark源码走读之Task运行期之函数调用关系分析
- Apache Spark源码走读系列
- Apache Spark源码走读之15 -- Standalone部署模式下的容错性分析
- apache kafka源码分析-Producer分析
- apache kafka源码分析-Producer分析
- kafka源码分析之一server启动分析
- 关于Struts1、Struts2和Webwork的理解
- test-cold-format
- 从表ID和主表ID的关系
- J2EE中下载和安装spring插件
- Qt打包成dll
- apache kafka系列之源码分析走读-server端网络架构分析
- memset头文件的使用
- easy-pie-chart
- cendos 安装node,包含npm
- AE学习笔记(1)
- 【软考总结】-<算法>动态规划法--0-1背包问题
- 文件处理命令
- ruby变量和运算符
- vs2015简单配置opencv3.1