0%

日志管理器

日志管理器是kafka用来管理所有日志的,负责管理日志的创建与删除、日志检索、日志加载和恢复、检查点及日志文件刷写磁盘以及日志清理等

阅读全文 »

网络通信

kafkaServer启动时,初始化启动了一个SocketServer服务,用于接受客户端的连接、处理客户端请求、发送响应等,同时创建一个KafkaRequestHandlerPool用于管理KafkaRequestHandler。

SocketServer是基于Java NIO实现的网络通信组件,线程模型为:一个Acceptor线程负责接收客户端所有的连接;{num.network.threads}个Processor线程,每个Processor有多个Selector,负责从每个连接中读取请求;{num.io.threads}个KafkaRequestHandler线程处理请求,并将产生的请求返回给Processor线程。

KafkaRequestHandler是由KafkaRequestHandlerPool管理,在Processor和KafkaRequestHandler之间通过RequestChannel来缓冲请求,每个KafkaRequestHandler从RequestChannel.requestQueue接受RequestChannel.Request,并把Request交由KafkaApis的handle()方法处理,经处理后把对应的Response存进RequestChannel.responseQueues队列

阅读全文 »

web.xml配置文件

web.xml是web应用的部署文件,包括tomcat中conf/web.xml中的默认配置以及web应用WEB-INF/web.xml下的定制配置

阅读全文 »

Tomcat管理

host-manager

访问http://localhst:8080/host-manager/html 可以访问host-manager页面,该页面存在访问权限控制,在tomcat-users.xml中进行配置

包含两个角色,admin-gui和admin-script

阅读全文 »

过滤器

CorsFilter

org.apache.catalina.filters.CorsFilter是W3C CORS(跨域资源共享)规范的一种实现,在HttpServletResponse中增加Acess-Control-*头,同时保护HTTP响应避免拆分。

阅读全文 »