文件名称:tomcat和apache mod_jk.so
文件大小:1.02MB
文件格式:SO
更新时间:2015-09-24 10:29:42
mod_jk
由于tomcat的HTTP处理部分都由Java所写(5.5.12版本以后出现了native库,用以 提高其I/O和SSL的性能[1]),在高并发的情况下负载较高。而apache对于静态文件的处 理能力比tomcat强,所以tomcat开发组开发了与apache结合使用的mod_jk模块。该协议 由apache作请求代理,将HTTP协议的请求转化为AJP协议包,并传给后端的 tomcat。mod_jk和apache现在普遍使用AJP1.3协议[2]。它是一个二进制格式的协议,比 字符格式的HTTP协议解析速度要快。 除了性能的提升,mod_jk另外的一个作用可以实现apache与tomcat一对多的对应, 使后端tomcat负载均衡。mod_jk也提供apache与tomcat链接情况的监控。 mod_jk模块的典型工作流程是这样的:一个HTTP请求过来,mod_jk模块根据其URI选 择合适的worker来进行处理。如果是lb_worker(负载均衡的worker),就再根据各种条 件选择后台合适的ajp_worker(处理AJP协议的worker)。ajp_worker将HTTP协议的包, 组装成AJP协议格式的包,然后选取一条空闲的链接,发送给后台的tomcat服务器。等到 后台将数据发送过来时,接收并解析AJP协议,重新组装成HTTP协议,然后把结果发送给 客户端。