2010-06-15 5 views
1

Java 웹 응용 프로그램의 고 가용성을 달성하기위한 도구는 무엇입니까?Java 웹 응용 프로그램의 고 가용성 실현

+1

시스템 도메인에 대한 몇 가지 추가 정보와이 컨텍스트에서 고 가용성이 의미하는 바를 잘 정의하면 도움이 될 것 같습니다. 5 개의 가동 시간이 필요합니까? 또는 업무 시간 중에 가동 시간을 99 % 만 찾고 계신가요? 또한 어떤 응용 프로그램입니까? webapp을 사용하기 때문에 브라우저를 통해 상호 작용하는 사용자가 있다고 가정하지만 사용 특성은 무엇입니까? 수십 명의 사용자 또는 수십만 명의 사용자가 있습니까? 응용 프로그램이 세션 상태를 많이 사용합니까? 더 많은 정보가 없으면 질문에 대답하기가 어렵습니다. –

답변

2

주요 접근법은 도구가 아닙니다. '품질 소프트웨어'라고합니다. 즉 모든 리소스 (동기화 포함)를 올바르게 처리해야합니다.

Apache Hadoop은 시스템 배포 및 확장에 사용할 수있는 것입니다. 하지만 그게 거대한 응용 프로그램입니다.

Load balancing 또한 살펴볼 항목입니다.

+1

동의. 최상의 HA는 설계에 의해 수행됩니다. – Nate

1

아마도 클러스터링 솔루션을 찾고 있습니까? 테라코타의 JVM 클러스터링 OpenSource 버전

+0

테라코타는 참으로 좋은 것입니다. (+1) – Bozho

+0

대부분의 오픈 소스 서버에서 클러스터링을 수행 할 수 있습니다. 예를 들어 JBoss는 클러스터링을 제공하므로 Tomcat도 마찬가지입니다. http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html 이것은 솔루션의 일부일뿐입니다. 응용 프로그램에서 고 가용성을 확보하면 단일 지점 오류를 제거하기 위해 모든 계층에서 HA가 필요합니다. –

1

응용 프로그램의 모든 계층에서 이중화를 통해 단일 실패 지점 제거. "X가 실패하면 어떻게 될까요?"라는 문장을 따라 질문을하고 위험을 완화 할 수있는 방법을 찾아보십시오.

0

당신이 필요합니다 시작하려면 : 동시에 여러 웹 서버에서 실행 할 수 있습니다

  1. 웹 응용 프로그램을.
  2. 실패한 웹 서버를 감지하고 트래픽을 다른 라이브 인스턴스로 라우팅 할 수있는로드 균형 조정 프런트 엔드입니다. 이 부분은 자바 일 필요는 없습니다. 로드 밸런서와 웹 애플리케이션 컨테이너 사이에 통합 지점을 찾아야합니다.

초기 설정을 마친 후에는 데이터베이스 서버,로드 균형 조정 서버 자체, DNS 서버 등과 같은 다른 실패 가능성이있는 지점을 찾아서 중복성 및 장애 극복 전환을 추가하려고합니다. 이 층들도.

또한 RAID와 같은 하드웨어 솔루션을 고려해야합니다, SAN 등

1

가 해결하기 위해 당신이해야합니다 적어도 두 가지 측면은 다음과 같습니다

  1. 운영
  2. 건축, 디자인, 코드

각 요소는 큰 질문입니다. 예를 들어, 여기에 전용 사이트가 두 개 있습니다 (각각 serverfault.com 및 stackoverflow.com 참조).

운영 고려 사항에는로드 균형 조정, 재난 복구, 가능하면 CDN 및 모니터링과 같은 배포 확장이 포함됩니다. 진행중인 배포 고려 사항도 중요합니다.

아키텍처 -> 코드 고려 사항은 매우 중요합니다. 솔루션의 아키텍처에서부터 유지 관리 가능성을위한 코드 레이아웃, 정확성 확보가 가장 어렵습니다. 최선의 제안 : 경험이있는 사람을 고용하십시오. 그 실패는 경험이있는 누군가에게서 책 등을 읽습니다.

또한 Java 세계에서 중요한 사실은이 중요한 사실과 관련이 있다는 것입니다. 이전에 작성되었을 가능성이 큽니다. 이것은 좋은 소식입니다! 많은 매우 밝은 사람들이 코드 을 작성하고 [Jakarta] Apache, Google Code, Codehaus, Sourceforge 및 기타 수많은 오픈 소스 사이트에서 무료로 사용할 수 있도록 수많은 시간을 보냈습니다.질문에 대한 조사가 많을수록 더 많은 플레이어가 나타납니다. 중요한 기술은 사용 가능한 소프트웨어가 자신에게 적합한 지 판단하는 것입니다.

여러분이 선택한 특정 기술로 많은 답변을 제공해 주셨습니다. 그 중 많은 것들이 좋은 제안이지만, 실제로 해결하려는 실제 문제로 귀결됩니다. 그게 무엇인지 알 수 있습니다. 어쨌든 라고 말하십시오. D).

관련 문제