4

공유 서비스 (데이터베이스/웹 서비스)와 상호 작용하는 여러 개의 분리 된 모듈이있는 Java 프로젝트를 구현 중입니다.시스템의 다른 모듈이 작동하는지 계속 확인하는 모듈의 디자인 패턴?

지속적으로 모든 모듈을 폴링하여 작동 여부를 확인하는 상태 검사기 모듈이 있습니다. 모듈이 비활성 상태이거나 제대로 작동하지 않으면 상태 검사 모듈이 복구를 수행하고 다시 시작합니다.

어떤 행동 패턴이 속합니까?

답변

2

상태 검사기은 기본적으로 모두의 일을 어떻게 다른 모듈을 추적한다.

따라서 건강 검진자는 변경 사항을 관찰 할 수 있으므로 옵서버 디자인 패턴으로 갈 수 있습니다. 모듈에는 변경 될 때마다 Health Checker을 알려야하는 메서드가 있어야합니다.

자원 관리 디자인 패턴 또는 싱글 톤 디자인 패턴를 사용할 수있는 컨트롤에서 공유 자원을 유지합니다.

당신이 말하는 유사한 종류의 응용 프로그램을 논의하는 블로그 MSDN 블로그를 읽을 수도 있습니다.

또 다른 유사한 디자인 패턴은 this 일 수 있습니다.

+2

옵서버가 여기에 있는지 확실하지 않습니다. Observer 패턴은 모듈이 관찰자에게 알려주는 곳이라고 생각합니다. 여기서는 상태 검사기가 다른 모듈을 폴링하고 알림을 받기를 기다리지 않습니다. – ajb

+0

@ajb. 예. 내 잘못이야. 내 대답이 바뀌 었어. –

0

이 경우에는 observer를 권장하지 않습니다. 알림이없는 경우 깨진 모듈과 이벤트를 생성하지 않는 작업 모듈을 구별 할 수 없습니다.

Healthchecker는 스케줄러를 사용하고 잠시 동안 모든 모듈을 폴링해야합니다. 작성하기가 쉽고 더 잘 작동합니다.