MSMQ 대 임시 테이블 덤프
-
20-08-2019 - |
문제
나는이 질문이 전에 조금 묻는 것을 알고있다. 그러나 주위를 둘러 보면 여전히 내려 가야 할 길을 떠날 수 없습니다. 내 시나리오는 다음과 같습니다. 도와 드릴 수 있기를 바랍니다.
우리는 수백 개의 모바일 애플리케이션에 의해 예정된 일련의 웹 서비스를 제공 할 것입니다. 이 서비스는 장치로 이동하여 장치로 돌아 오는 새로운 정보가있는 장치에 데이터를 데이터로 데이터로 데이터로 데이터로 데이터를 데이터로 가져옵니다. 장치에서 반환 된 데이터는 여러 데스크탑 응용 프로그램과 웹 사이트를 공급하는 단일 중앙 SQL Server 데이터베이스를 업데이트해야합니다.
이러한 서비스의 요청/응답 시간을 줄이기 위해 MSMQ 인스턴스에 고착하거나 직렬화 된 객체를 임시 데이터 저장소에 저장하여 장치에서 나오는 데이터를 처리하기로 결정했습니다. Windows 서비스는 나중에 처리합니다.
그래서 내 선택이 있지만, 이것을 제외하고는 여기에 여러분들에게 조언하는 데 도움이 될만한 몇 가지가 있습니다.
- 장치에서 반환 된 데이터는 서버 쪽 주문 해야하는 작은 메시지 패킷으로 반환되지 않습니다.
- MSMQ에 대해서는 아무것도 모르지만 전에 Windows 서비스를 작성했습니다. MSMQ가 필요한 경우 수거하는 데 문제가 없습니다.
- 데이터로 인해 발생하는 이유가있는 경우 처리가 실패한 경우 장치에서 응답을 유지하고 싶습니다. 이런 식으로 데이터를 조사하고 문제가 있는지 확인할 수 있습니다. 즉 장치를 통해 사용자는 서버 측 데이터베이스에서 관련 필드의 길이를 확장하는 주석을 추가 할 수 있습니다.
이 정보를 사용하면 MSMQ를 배우는 것이 가치가 있다고 생각합니까, 아니면 더 간단한 솔루션을 고수해야합니까?
크리스.
해결책
MSMQ는 나쁜 선택이 아니며 배우기가 어렵지 않지만, 알아야 할 몇 가지 제약이 있음을 명심하십시오.
단점 :
- 각 대기열은 2GB 일 수 있습니다.
- 각 메시지 4MB (4MB 제한은 WCF와 함께 MSMQ를 사용하여 고정 될 수 있음).
- Windows의 경우에만 COM 지원 환경에 .NET, C/C ++ 또는 COM 라이브러리와 함께 사용하도록 제한됩니다.
장점 :
- Windows 네트워크로드 밸런서를 지원합니다.
- Microsoft 클러스터 서비스를 지원합니다.
- Active Directory와 통합.
- 창문이있는 배.
- 거래를 지원합니다.
- MSMQ 메시지는 Windows 이벤트 로그의 감사 메시지로 추적 할 수 있습니다.
- 메시지는 전송시 자동 인증 (서명) 또는 암호화 및 리셉션시 확인 및 해독 될 수 있습니다.
고려해야 할 또 다른 접근법은 데이터를 준비 테이블에 작성하는 것입니다. 메시지 뒤로 로그를 원하기 때문에 이것은 좋은 생각 일 수 있습니다.
시스템 아키텍처의 나머지 부분을 모르면 조언을하는 것은 어렵지만이 답변이 조금 도움이되기를 바랍니다.
유용한 링크