2014-03-04 3 views
1

몇 가지 거의 동일한 웹 사이트를 호스팅하는 서버 (Linux/Apache-Tomcat & MySQL)가 있습니다. 적어도 자바 라이브러리는 동일합니다.하나의 서버에 많은 동일한 웹 사이트가 있습니다.

지금 당장 모든 웹 사이트에는 java 클래스가있는 .jar 파일이 있습니다.

이것이 좋은 연습인지 또는 각 웹 사이트에서 액세스 할 수있는 곳에서 이러한 수업을해야하는지 알고 싶습니다. 이렇게하면 어떤 식 으로든 성능이 향상됩니까? JVM의 메모리 사용량을 줄이겠습니까? 아래쪽이 있습니까?

이 상황과 관련된 정보를 찾을 수 없었습니다.

+1

많은 동일한 .jar 파일 대신 하나의 .jar 파일 만있는 것이 더 나은지 묻는 것입니다. 나는 당신이 대답하기 위해 많은 단락을 필요로 할 것이라고 생각하지 않는다. – Sergio

+1

가능한 [Tomcat의 타사 라이브러리 모범 사례] (http://stackoverflow.com/questions/6397334/third-party-libraries-best-practice-in-tomcat) –

답변

4

위쪽 : 디스크 공간이 적어 RAM이 절약됩니다. 취해진 힙 공간은 실제로 해당 JAR 파일에서로드하는 유형을 나타내는 java.lang.Class 인스턴스에 속한다는 것을 기억하십시오.

다운 사이드 : JVM의 모든 응용 프로그램은 공유 라이브러리의 버전을 사용하여 잠겨 있습니다. 배포 된 모든 웹 응용 프로그램을 동일하게 만들기를 원한다면 정말 단점이 없습니다. 컨테이너와 컨테이너 또는 버전이 다른 컨테이너 (예 : Tomcat이 버전 간 마음을 바꾼 경우)와 다를 수있는 비표준 배포 프로세스 (예 : webapp는 자체 포함되지 않음)를 유지해야하므로 배포가 까다로울 수 있습니다. 4 및 5, 5 및 5.5, 5 및 6 "공통"및 "공유"라이브러리 구성 방법 참조).

웹 응용 프로그램이 동일하면 둘 이상의 웹 응용 프로그램을 배포해야합니까? 대신 URL을 스 니프하고 응용 프로그램을 개별적으로 배포하는 대신 클라이언트의 각 종류에 대한 구성을 사용할 수 있습니다.

관련 문제