지난 인터뷰에서 100 % 가동 시간을 유지해야하고, 매우 반응적이고 업데이트 가능해야하는 업무 핵심 Windows 서비스를 작성하는 방법을 묻습니다. 이 서비스는 요청을 받아 계산을 수행하고 응답을 다시 보내는 원격 응용 프로그램으로 설명되었습니다.100 % 가동 시간을 가진 응용 프로그램 업데이트
내 솔루션은 단순히 게이트웨이 역할을하는 매우 일반적인 서비스를 갖추는 것이 었습니다. 이 서비스는 결코 중단되지 않습니다. 요청을 대기열에 넣고 요청을 실제로 처리 할 별도의 앱 도메인에있는 다른 서비스로 전달합니다. 이러한 핸들링 서비스 중 적어도 두 가지가 필요할 것이므로 다른 하나가 들어오는 요청에 응답하는 동안 업데이트 될 수 있습니다. 서비스 간의 인터페이스에는 서비스가 실행 중인지 확인하기 위해 핸드 셰이크 기능이 포함됩니다. 매우 작은 시간 제한이 존재하므로 서비스가 완료되면 요청을 보류하지 않습니다. 나는 또한이 솔루션이 다른 상자에 더 많은 서비스를 추가 할 수있는만큼 확장 될 수 있다는 점을 강조했습니다.
면접관은 앱 도메인간에 통신하는 것과 네트워크를 통해 통신하는 것 사이의 대기 시간 문제로 인해이 아이디어에 너무 열중하지 않았습니다. 미션 크리티컬 한 애플리케이션에 대해서는 소프트웨어만으로는 답이 될 수 없으므로 견고한 인프라를 구축해야한다고 말했습니다. 그는 또한 현재 재배착을 사용하는 시스템을 갖추고 있다고 말했다. 어셈블리를 응용 프로그램 도메인에로드하고 어셈블리 변경을위한 디렉토리를 보려고 생각했지만 오류가 발생하기 쉬운 것처럼 보입니다.
비슷한 요구 사항을 가진 사람이 있습니까? 어떤 해결책을 사용 했습니까? 작동하지 않는 것은 무엇입니까? 반영은 유용한 옵션입니까?
좋은 답변입니다! 감사합니다 +1 – Bob