우리는 Apache 뒤에 두 개의 Tomcat 인스턴스 (mod_proxy_balancer
및 mod_proxy_ajp
을 사용하는 Tomcat HA 설정)에서 실행되는 간단한 Webapp를 사용합니다. webapp의 역할은 들어오는 요청 데이터를 로그 파일에 기록하는 것입니다.HA Tomcat 파일 쓰기 솔루션이 필요합니다
각 tomcat 인스턴스가 자신의 JVM에서 실행되고 있다면 로그 파일 쓰기를 어떻게 구현해야합니까?
두 인스턴스가 같은 파일에 쓸 수 있으면 좋지만 Log4J에서는이를 지원하지 않는 것 같습니다. 우리는 우리 자신의 파일 작성자를 쓰는 것에 열렬하지만, 우리가 원하는 것을 java.nio.channels.FileLock
이 할 것인지 확신 할 수 없습니다.
언더 패스는 ext3 파일 시스템을 사용하는 데비안이므로 우리가 C 또는 PHP로 이것을 수행한다면 파일 시스템 잠금을 사용하게됩니다. 그러나 Java는 기본 시스템을 추상화하기 위해 작성되었으며 여러 가지 패키지의 클래스가 혼란스러워서 모든 방식으로 파일을 쓸 수 있다고 주장했습니다. 누구라도 조언을하나요? 거기에 우리를 도울 수있는 패키지가 있습니까?
처음에는 2 개의 JVM에서 같은 파일에 쓰고 싶지 않은가? 확실히 나는 처음이 아니다.
또 다른 요구 사항은 이러한 파일을 매시간 롤업해야하지만 파일 작성시를 제외하고는 그다지 문제가되지 않습니다.
감사합니다.
그래, 내가 알기는하지만 논리가 한 곳에서 모두가 아니라는 것을 의미한다. –
어떤 논리입니까? 로그 파일에 쓰고 있잖아, 그렇지? 아니면 그것에 더 있습니까? – cletus
+1 대기열 아이디어에 대해, 파일 입출력이 웹 응용 프로그램이 응답하기 위해 대기하는 동안 모든 수신 요청을 기다릴 필요가 없습니다. –