2010-04-06 7 views
1

일부 백그라운드 처리를 수행하는 C# Windows 서비스를 작성 중입니다. 기본적으로 작업 대기열의 소비자입니다.고 신뢰성 서비스를위한 설계 고려 사항

아래로 내려갈 필요가 없습니다 (새 항목 처리를 중단하십시오). 내려 가면 알려야합니다.

a) 가능한 한 신뢰할 수있는 서비스를 보장하고 b) 잘못된 것이 있으면 알림을 보내려면 몇 가지 디자인 지침과 고려 사항이 있습니까? 예를 들어, 작업자 스레드가 여전히 작업을 처리하고 있는지 확인하는 유일한 작업 인 감시자 스레드를 만드는 방법을 고려했습니다.

답변

1

여기에는 신뢰할 수있는 기능을 향상시키는 데 도움이되는 여러 가지 사항이 있으며 사용자의 요구 사항을 충족시키는 솔루션이 있다는 것을 알 수 있습니다.

테스트

첫 번째 및하지만 무엇보다도, 당신이 확실히 매우 견고 하나, 그 "예상치 못한"상황에 대한 테스트, 네트워크 연결의 손실 등을 확인해야합니다 통과 테스트 과정 당신은 그 (것)들을 시험하고, 일어나고있는 무슨을 본다. 실패에 대한 통지는 약간의 "혼합 백"이 될 수 있습니다. 예를 들어, 네트워크 연결을 사용할 수없는 경우 전자 메일을 보낼 수 없습니다.

적절한 코드 디자인 Windows 서비스를 작성하기 때문에, 당신이 캡처되어 있는지 확인, 코드를 가능한 한 총알 증거가 있는지 확인, 유효한 테스트 시나리오를 설정하는 것 외에도

, 로깅 가능한 모든 오류를 처리하면 마치 오류가 OS에 버려지는 것처럼 서비스가 중단됩니다.

우리가 감시의 두 가지 유형의 오류가 경우에 따라서는 Windows 이벤트 로그를보고, 사용 및 Microsoft의 MOM은 어떤의 우리를 통지하기 위해서 사용이 내 하루 현장에서 모니터링을두고 생각해 모니터링

/환경에서 진행되는 모든 문제. 우리가 사용하는 두 번째 프로세스는 X 분마다 중요한 작업이 "시작됨"상태임을 확인하는 두 번째 예약 된 작업입니다. 시작된 상태가 아니면 다시 시작합니다. 우아하지 않지만 작동합니다.

0

나는 엄마와/또는 태양풍 또는 시스템 관리자가 서비스가 & 적절한 조치를 취할 배포 된 시스템을 모니터링하는 데 사용할 수있는 몇 가지 다른 모니터링 응용 프로그램 (이메일을 보낼 생각, 링 전화 :