2016-06-01 1 views
1

저는 전문 프로그래머가 웹 응용 프로그램을 어떻게 확장하는지 에 대해 궁금합니다.. 중요한 연구 노력을했지만 확장 단계에 대한 정보를 얻지 못했지만 서버 성능은 여러 요인에 따라 달라질 수 있습니다. 그러나, 나는 약간의 세부 사항이 대략 내려 놓을 수 있다고 꽤 확신한다. 예를 들어 Java EE 응용 프로그램을 축척하는 단계

,

1) 얼마나 많은 동시 요청을 할 수있는 괜찮은 구현 및 괜찮은 하드웨어와 단일 Tomcat 서버 핸들?

2.) 어떤 시점에서로드 밸런서 서버가 관련되어야합니까?

3.) 전체 Java EE 스택 (JBoss/Glassfish)은 언제 이해가 되나요?

+0

이 질문은 [programmers.stackexchange.com] (http://programmers.stackexchange.com/)에 속한 것으로 생각합니다. –

답변

-1

나는 이것이 다소 의견을 기반으로하고 있다고 생각하지만 궁극적으로는 "의존한다".

예를 들어, Tomcat에서 처리 할 수있는로드는 얼마입니까? 그것은 달려있다. 모든 요청에 ​​대해 정적 HTML 페이지를 보내는 경우 대답은 "많이"입니다. 매회 첫 번째 100,000 소수를 계산하려고한다면 아마도 그렇게 많지 않을 것입니다.

일반적으로 클러스터링/분산 사용을 위해 응용 프로그램을 설계하는 것이 가장 좋습니다. 세션에서 너무 많은 것을 기대하지 마십시오. 세션을 동기화 상태로 유지하는 것이 비용이 많이들 수 있습니다. 모든 방법을 진실하게 무국적자로 유지하기 위해 최선을 다하십시오. 소비자 (즉, 웹 사이트)가 각 호에 대해 좀 더 많은 정보를 전달해야만 클러스터링 된 기계들 중 어느 하나가 요청의 현재 상태를 알 수 있기 때문에 어려울 수 있습니다. 등등.

JMS, CDI 및 JPA와 같은 몇 가지 추가 Java EE 기능을 활용하려면 Tomcat에서 Glassfish로 이동 한 다음 Wildfly로 이동했습니다. TomEE를 사용할 수 있었지만이를 통일시킬 수 있었지만 통일 된 관리 UI를 갖춘 통합 환경은 좋은 이점이었습니다. 그래도 그렇게 할 필요는 없습니다. 원하는 부분 (예 : CDI 및 JPA)을 Tomcat에 쉽게 추가 할 수 있습니다.

성능을 위해 Tomcat에서 전체 EE 서버로 이동하지 않았 음을 유의하십시오. EE 스택의 더 큰 부분을 활용하고 싶었습니다. Wildfly에는 클러스터 관리를 좀 더 쉽게 해주는 몇 가지 관리 인터페이스가 있지만 문제없이 Tomcat을 계속 사용할 수있었습니다.

다시 말하지만, "의존적"입니다. Tomcat이 제공하는 것보다 더 많은 EE 스택을 필요로하지 않는다면 완전한 EE 서버가 과잉 공격을받을 수 있습니다. 클러스터 된 데이터베이스 위에 Apache HTTPD로드 밸런서 (또는 아마존 서버) 뒤에 Tomcat 서버 세트를 두는 것은 나쁘지 않습니다. 그게 너에게 충분하다면 나는 그걸 고수 할거야. Wildfly 등으로 뛰어 오르지 마십시오. 성능면에서 큰 변화는 없을 것입니다.

관련 문제