Java 웹 응용 프로그램의 고 가용성을 달성하기위한 도구는 무엇입니까?Java 웹 응용 프로그램의 고 가용성 실현
답변
주요 접근법은 도구가 아닙니다. '품질 소프트웨어'라고합니다. 즉 모든 리소스 (동기화 포함)를 올바르게 처리해야합니다.
Apache Hadoop은 시스템 배포 및 확장에 사용할 수있는 것입니다. 하지만 그게 거대한 응용 프로그램입니다.
Load balancing 또한 살펴볼 항목입니다.
동의. 최상의 HA는 설계에 의해 수행됩니다. – Nate
아마도 클러스터링 솔루션을 찾고 있습니까? 테라코타의 JVM 클러스터링 OpenSource 버전
테라코타는 참으로 좋은 것입니다. (+1) – Bozho
대부분의 오픈 소스 서버에서 클러스터링을 수행 할 수 있습니다. 예를 들어 JBoss는 클러스터링을 제공하므로 Tomcat도 마찬가지입니다. http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html 이것은 솔루션의 일부일뿐입니다. 응용 프로그램에서 고 가용성을 확보하면 단일 지점 오류를 제거하기 위해 모든 계층에서 HA가 필요합니다. –
응용 프로그램의 모든 계층에서 이중화를 통해 단일 실패 지점 제거. "X가 실패하면 어떻게 될까요?"라는 문장을 따라 질문을하고 위험을 완화 할 수있는 방법을 찾아보십시오.
당신이 필요합니다 시작하려면 : 동시에 여러 웹 서버에서 실행 할 수 있습니다
- 웹 응용 프로그램을.
- 실패한 웹 서버를 감지하고 트래픽을 다른 라이브 인스턴스로 라우팅 할 수있는로드 균형 조정 프런트 엔드입니다. 이 부분은 자바 일 필요는 없습니다. 로드 밸런서와 웹 애플리케이션 컨테이너 사이에 통합 지점을 찾아야합니다.
초기 설정을 마친 후에는 데이터베이스 서버,로드 균형 조정 서버 자체, DNS 서버 등과 같은 다른 실패 가능성이있는 지점을 찾아서 중복성 및 장애 극복 전환을 추가하려고합니다. 이 층들도.
또한 RAID와 같은 하드웨어 솔루션을 고려해야합니다, SAN 등
가 해결하기 위해 당신이해야합니다 적어도 두 가지 측면은 다음과 같습니다
- 운영
- 건축, 디자인, 코드 은
각 요소는 큰 질문입니다. 예를 들어, 여기에 전용 사이트가 두 개 있습니다 (각각 serverfault.com 및 stackoverflow.com 참조).
운영 고려 사항에는로드 균형 조정, 재난 복구, 가능하면 CDN 및 모니터링과 같은 배포 확장이 포함됩니다. 진행중인 배포 고려 사항도 중요합니다.
아키텍처 -> 코드 고려 사항은 매우 중요합니다. 솔루션의 아키텍처에서부터 유지 관리 가능성을위한 코드 레이아웃, 정확성 확보가 가장 어렵습니다. 최선의 제안 : 경험이있는 사람을 고용하십시오. 그 실패는 경험이있는 누군가에게서 책 등을 읽습니다.
또한 Java 세계에서 중요한 사실은이 중요한 사실과 관련이 있다는 것입니다. 이전에 작성되었을 가능성이 큽니다. 이것은 좋은 소식입니다! 많은 매우 밝은 사람들이 코드 을 작성하고 [Jakarta] Apache, Google Code, Codehaus, Sourceforge 및 기타 수많은 오픈 소스 사이트에서 무료로 사용할 수 있도록 수많은 시간을 보냈습니다.질문에 대한 조사가 많을수록 더 많은 플레이어가 나타납니다. 중요한 기술은 사용 가능한 소프트웨어가 자신에게 적합한 지 판단하는 것입니다.
여러분이 선택한 특정 기술로 많은 답변을 제공해 주셨습니다. 그 중 많은 것들이 좋은 제안이지만, 실제로 해결하려는 실제 문제로 귀결됩니다. 그게 무엇인지 알 수 있습니다. 어쨌든 라고 말하십시오. D).
- 1. 고 가용성
- 2. 응용 프로그램 수준 고 가용성 라이브러리
- 3. 고 가용성 ASP.NET MVC
- 4. 고성능 고 가용성 추적 시스템
- 5. Solaris에서 Java/C++ 용 고 가용성 및 확장 가능 플랫폼
- 6. 고 가용성 및 재해 복구 소프트웨어 AntiPatterns
- 7. CakePHP 고 가용성 서버 팜 설정
- 8. J2SE를 사용하여 고 가용성 독립 실행 형 Java 서버 구성
- 9. 가상화 고 가용성 솔루션의 캐시 일관성 문제
- 10. Java 웹 응용 프로그램의 구조
- 11. 고 가용성 활성 - 활성 데이터베이스 설계
- 12. C#의 고 가용성 및 확장 성
- 13. HTTP를 통해 이미지 제공. 부하가 분산 된 고 가용성 아키텍처
- 14. Java Struts 웹 응용 프로그램의 DataGrid
- 15. Java 웹 응용 프로그램의 HTML 스트리밍
- 16. 웹 응용 프로그램의 "포틀릿 형"Java 기술
- 17. Java 웹 응용 프로그램의 서식있는 텍스트 문제
- 18. java 웹 응용 프로그램의 라우팅을 구성하는 방법
- 19. Java 응용 프로그램의 웹 사용자 인터페이스
- 20. 데이터베이스 고 가용성 기술을 공부하는 데 유용한 리소스
- 21. Java 응용 프로그램의 스레드
- 22. SharePoint와 웹 응용 프로그램의 통합
- 23. 웹 사이트 가용성 API
- 24. Java EE 응용 프로그램의 스레드
- 25. 내 웹 응용 프로그램의 루트에서 내 Java 웹 응용 프로그램의 이미지를 어떻게 참조합니까?
- 26. RDBM과 Java 응용 프로그램의 비교
- 27. 웹 응용 프로그램의 동기화
- 28. 웹 응용 프로그램의 주석
- 29. 웹 응용 프로그램의 타이머
- 30. 웹 응용 프로그램의 이미지
시스템 도메인에 대한 몇 가지 추가 정보와이 컨텍스트에서 고 가용성이 의미하는 바를 잘 정의하면 도움이 될 것 같습니다. 5 개의 가동 시간이 필요합니까? 또는 업무 시간 중에 가동 시간을 99 % 만 찾고 계신가요? 또한 어떤 응용 프로그램입니까? webapp을 사용하기 때문에 브라우저를 통해 상호 작용하는 사용자가 있다고 가정하지만 사용 특성은 무엇입니까? 수십 명의 사용자 또는 수십만 명의 사용자가 있습니까? 응용 프로그램이 세션 상태를 많이 사용합니까? 더 많은 정보가 없으면 질문에 대답하기가 어렵습니다. –