2009-05-01 3 views
2

C# 2008Enterprise Service Bus가 올바른 솔루션입니까?

나는 작동하기 위해 웹 서버에 연결해야하는 응용 프로그램을 개발했습니다. 웹 서버가 오프라인 상태 인 경우. 앱을 사용하는 사용자가 어떤 일이 일어 났는지 알 수 있도록 앱에 알림을 보내야합니다.

이 응용 프로그램은 고객 웹 사이트에서 인터넷을 통해 다운로드됩니다. 따라서 수백 또는 수천 명의 사용자가 사용할 수 있습니다.

매 5 초마다 웹 서버에 핑 (ping)을 할 생각이었습니다. 그러나 100 또는 1000의 응용 프로그램은 웹 서버에 과부하가 걸립니다.

누군가가 ESB가이 문제에 대해 적절하다고 말했습니다. 나는 이것을 사용하려고 생각하고 있으며, 나는 완전히 확신하지 못한다. ESB에 가입 할 모든 앱을 보유하는 것입니다. 웹 서버가 오프라인 상태가되면 모든 응용 프로그램에 메시지가 전송됩니다.

그러나 나는 ESB가 매우 크고 복잡하며 내 문제가 과도하다고 생각합니다.

정확하게 이해하고 있습니다.

ESB가 올바른 선택이 아닌 경우 사용할 수있는 또 다른 디자인 패턴이 있습니까? 그것은 부적절 범위를 벗어나 소리

많은 감사

답변

2

이 간단한 목적을 위해 ESB를 투기합니다. 정기적으로 웹 사이트에 액세스해야하기 때문에 클라이언트 컴퓨터가 알아낼 수있는 이유는 무엇입니까? 웹 서버에 반복적으로 ping을하는 대신 정상적인 활동 중에 웹 서버에 액세스해야합니다. 오류 응답을 받으면 "웹 서버가 다운 됨"코드 경로를 사용할 수 있습니다.

2

ESB는 잘못된 솔루션처럼 들립니다.

두 가지 가능성이 마음에 와서 :

(1) 당신이 시도하고 서버에 액세스 할 때 사용자가 일반적인 오류 처리에 대한 탐지를 연기, 그들은 실시간으로 오프라인 알 필요하지 않습니다.

(2) 실시간을 알아야하는 경우 각 클라이언트 사이트에서 작은 프록시를 사용하여 모든 데스크톱이 아니라 프록시 만 서버를 핑 (ping)해야합니다.