4

고 가용성 및 재해 복구와 관련하여 최악의 경우를 위해 Java 애플리케이션을 감사해야한다면 하드 코딩 된 IP 주소와 최적의 바인드 핸들 캐싱을 찾아야합니다. 그 밖의 무엇을 고려해야합니까?고 가용성 및 재해 복구 소프트웨어 AntiPatterns

+1

로깅은 코드를 작성한 후에 만 ​​유용한 런타임 특성이므로 도움이되지 않습니다. 나는 감사가 코드 검토를하고있는 동안 볼 것이다 것의 점검표를 포함해야한다 것을 짐작한다. – McGovernTheory

답변

4

조치/상태 로깅 부족.

자바 응용 프로그램은 충돌이 발생한 곳에서 재개 할 수 있어야합니다.
즉, 이미 수행 한 것을 기록 할 수있는 메커니즘이 있어야 함을 의미합니다 (다음 실행시 모든 것을 다시하지 않기 위해).

또한 이러한 Java 프로그램은 과 동일한 액션 집합 후에 항상 동일한 상태를 유지해야 함을 의미합니다. (무언가를 두 번하면 같은 결과가 발생하고 이미 수행 된 작업은 다시 수행하지 말고 단순히 건너 뛰어도됩니다.)

해당 레코드는 정렬, 리포지토리의 여러 가지 형식 (파일, 데이터베이스, 메타 데이터)을 취할 수 있습니다. .)하지만, 요점은 : 가능한 한 빨리 복구하려는 Java 응용 프로그램이 이미 수행 한 작업을 알아야한다는 것입니다.

3

모니터링 시설 부족. 조만간 모든 응용 프로그램이 실패합니다. 그런 일이 생기면 누구보다도 먼저 그 사실을 알고 싶을 것입니다.

3

로깅 부족. 앱을 죽인 내용을 찾을 수 없다면 문제를 해결하기가 정말 어렵습니다. 이것은 특히 어려운 경우가있을 수있는 매우 간헐적 인 실패가있을 때 심술 궂습니다.

3

적절한 모니터링이 이미 언급되었으므로 비상 계획을 마련하는 데 추가 할 것입니다. 그것은 다음과 같은 단순한 것일 수 있습니다. 만약 이런 일이 발생하면 우리는 이것을합니다. 다른 일이 일어난다면 우리는 그렇게합니다. 그런 다음 문제가 발생하면 모든 사람들이 당황하고 빠른 결정을 내리는 대신 (이전에 테스트 한) 계획을 따르십시오.

0

할 일은 시간을 일부 예약하고 테스트하는 것입니다. 이렇게하면 더 많은 문제를 발견하게 될 것입니다. 일단 당신이 모든 것을 문서화했다면, 당신의 도움없이 다른 사람에게 그것을하게하십시오. ;)

1

내가보기에 당신이 물어 보는 몇 가지 주요 측면이 있습니다. 나는 그것이 언어 특정 적이라고 생각하지 않는다. 그리고 당신은 자바 애플 리케이션을 예제로 사용했다. 그래서 나는 당신이 자바에 관해 특별히 말하지 않는 것을 꺼리면 좋겠다.

장애 조치/HA : 여기서 SPoF - Single Points of Failure를 식별합니다. 여기에 언급 된 하드 코드 된 주소뿐만 아니라 로컬 디스크와 같은 복제 불가능한 방법으로 데이터를 저장하는 응용 프로그램도 포함됩니다. 다른 항목은 단절된 연결을 재설정하지 않고 MAC 주소, CPUID, 동글, 파티션 레이블, MB 또는 드라이브 일련 번호 등과 같은 특정 하드웨어 정보를 찾는 "너무 길다"는 DNS 조회를 캐시 할 수 있습니다. 나는이 모든 것을 BCP/DR 기능을 얻기 위해 불필요한 해결 방법으로 이끄는 문제로 보았다.

데이터 무결성 : 데이터는 어떻게 저장됩니까? 그것은 사용자 정의 형식/구조를 사용합니까? 그렇다면 "덤프 및 복원"메커니즘이 있습니까? 서비스가 클라이언트 서비스를 중지해야합니까, 아니면 백업을 수행하는 서비스가 저하됩니까? 그것은 비동기 적으로 장치에 데이터를 쓰는가? 그렇다면 얼마나 자주 디스크에 "플러시 (flushed)"됩니까? (때로는 이것이 앱에 달렸지 만 다른 것들은 그리 많지 않습니다)? 파일 잠금, 메모리 - 영구 저장 시간 프레임 워크 및 기능도이 부분입니다.

근본적으로 무엇이 문제를 일으키는 지 살펴보십시오.그런 다음 어떻게 생겼는지 살펴보고 두 가지 중요한 지식을 개발하기 시작합니다. BCP/DR을 개선하는 데 사용할 패턴과 언급 한대로 문제를 일으키는 AntiPatterns입니다. 이러한 유형의 질문을 개발 프로세스에 투입하면 가능한 한 빨리 개발자가 원하는 패턴과 반 패턴을 얻을 수 있습니다. 질문을하는 것만으로도 문제를 예방할 수 있습니다.

관련 문제