티스토리 뷰

Infra/Tomcat

mod_jk2 란?

Tomining 2015. 12. 31. 20:34
Apache Tomcat Connector 로 mod_jk 와 mod_jk2 가 있다.
이 둘은 무슨 차이가 있을까?

mod_jk apache 공식 페이지를 가 보면 mod_jk2 에 대한 이야기는 언급되어 있지 않다.
이전 버전 소스를 살펴보면 아래처럼 jk2 를 확인할 수 있는데,


소스코드가 2004년 3월 29일이 마지막 release 이다.


2004년 News 자료를 살펴보면 아래와 같이 Deprecated 된 것을 확인 할 수 있다.

15 November - JK2 is officially unsupported

JK2 has been put in maintainer mode and no further development will take place. The reason for shutting down JK2 development was the lack of developers interest. Other reason was lack of users interest in adopting JK2, caused by configuration complexity when compared to JK.

The latest official JK2 release is 2.0.4.

JK2 will have it's successor within core Apache2.1/2.2 distribution. We have developed newproxy_ajpthat is an addition to the mod_proxy and uses Tomcat's AJP protocol stack. It is developped in httpd-2.1 and integrated in it. We have also developed a newproxy_balancermodule for load balancing http and ajp protocol stacks.


JK will be fully supported for all other web servers. The next JK release is planned for the end of November. Lots of code from JK2 has been ported to JK

설정이 mod_jk 보다 복잡하여 개발자나 사용자들의 관심이 적어 프로젝트를 종료한 것으로 언급하고 있다.
mod_proxy 나 mod_jk 로 대체가 가능하다는 언급도 하고 있다.

그렇다면 mod_jk 와 mod_jk2 는 무슨 차이가 있을까?

과거 공식문서 에서 아래와 같이 언급하고 있다.

JK2 is a refactoring of JK and is much more powerfull.

Even if it works with Apache 1.3, JK2 has been developed with Apache 2.0 in mind, and is better suited for multi-threaded servers like IIS, NES/iPlanet. It can also be embeded in other applications and used from java.

JK2 improves the modularity and has a better separation between protocol and physical layer. As such JK2 support fast unix-socket, and could be extended to support others communications channels. It is better suited for JNI and may use (in a future version) JDK 1.4 NIO.

There is additional support for monitoring, similar with JMX in java. A module similar with mod_status is provided, and additional adapters can be used to interface and provide status and runtime configuration. .

The configuration has been changed to follow the component models. Multiple configuration sources can be supported ( in additon to file ) providing better integration with the embeding application. The config layer uses the management layer APIs and it can support persistence for changes done via runtime configuration.

Another feature is the JNI mode. Jk2 can be used as a JNI library and provide access to native features to java. For example it provides access to shared memory ( used for config and monitoring in a multiprocess environment ), unix domain sockets. It can also provide access to signals, chuid, win registry. All using the same communication mechansim, and supporting both in-process and out-of process modes.

요약해보면...
  • Apache 2.0 기반으로 개발
  • IIS 나  NES/iPlanet 같은 멀티 스레드 서버에 적합
  • JMX 같은 모니터링 기능을 포함, mod_status 와 유사
  • JNI Library 처럼 사용 가능하며, Java 에서 native feature(예를 들어 shared memory) 에 접근 가능

자세한 내용은 과거 공식문서를 참고하면 많은 것을 확인할 수 있다.


참고자료



'Infra > Tomcat' 카테고리의 다른 글

web.xml url-pattern 작성법  (0) 2015.03.25
was가 응답이 없을 때, Thread Dump 확인 방법  (0) 2015.03.16
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함