로컬 (local) 데이터 센터에 지속성 계층이있는 Amazon (AWS) 클라우드에 새로운 ASP MVC 주문 응용 프로그램을 만들고 있습니다. 나는 CQRS 패턴을 사용할 것이다. 프로젝트의 목표는 대기열을 사용하여 로컬 데이터 센터에서 비동기 적으로 처리하고 처리 할 수있는 쓰기 (명령/이벤트)를 저장하고 전달하는 고 가용성입니다. 그런 다음 WAN 또는 로컬 데이터 센터에서 오류가 발생하는 경우 클라우드 MVC 앱은 주문을 받고 처리가 재개 될 때까지 대기열에 올려 놓을 수 있습니다.NServiceBus를 사용하여 AWS에서 메시지 대기열 처리 및 처리를 구현하는 방법
첫 번째 생각은 대기열에 AWS SQS를 사용하고 수신 메시지/이벤트를 처리하기 위해 내 자신의 C# 응용 프로그램에서 자체 대기열 소비자/발송자/처리기를 만드는 것이 었습니다.
MVC (아마존 @) -> 이벤트/POCO -> SQS -> QueueReader (@ 내 데이터 센터) ->
DB
은 그 때 나는 NServiceBus을 발견했다. NSB는 메시지 처리, 재시도, 오류 처리 등과 같은 많은 세부 정보를 매우 잘 처리하는 것으로 보입니다. 바퀴를 재발견하는 것이 싫고 NServiceBus는 완벽한 기능의 완성품처럼 보입니다.그러나 앞으로의 연구에서 NServiceBus는 실제로 물리적으로 분리 된 환경 (Cloud to My Datacenter)에서 WAN을 통해 사용하기위한 것이 아닙니다. Google과 SO는 필요에 따라 WAN을 통해 NServiceBus를 사용하는 좋은 그림을 그리지 않습니다.
이 작업을 수행 할 수 있습니까? (아마존 @)
MVC -> 이벤트/POCO -> NServiceBus WAN을 통해 -> NServiceBus 처리기 (들) ->
DB
어떻게 WAN을 통해 NServiceBus를 사용할 수 있습니까? 아니면 아마존과 내 로컬 데이터 센터 간의 대기열 처리 및 메시지 처리를 처리하는 더 좋은 솔루션이 있습니까?
NServiceBus는 이제 SQS를 완벽하게 지원하므로 데이터 센터에서 코드를 가지고 계획했던 것과 정확히 똑같이 할 수 있으므로 아마존에서 MVC 프런트 엔드가 보낸 메시지를 받아 들일 수 있습니다. 다음은 NServiceBus의 SQS에 대한 설명서입니다. https://docs.particular.net/transports/sqs/ –