NServiceBus가 이러한 방식으로 작동한다는 것을 이해하면 DTC를 사용하는 메시지 트랜잭션과 함께 모든 데이터베이스 트랜잭션을 래핑하고 실패 할 경우 모든 것을 롤백합니다.NServicebus : DTC없이 메시지 롤백 기능을 사용할 수 있습니까?
이제 NServiceBus가 데이터베이스 트랜잭션을 처리 할 필요가 없습니다. DTC를 사용하지 않으려 고하기 때문에 (Nservicebushost 및 SQL 서버는 별도의 ec2 인스턴스에 있습니다. , 그리고 나는 ec2 인스턴스에서 RPC 포트를 열 수 없다고 생각한다.) 그러나 핸들링이 실패 할 경우를 대비해 메시지를 풀고 싶지는 않다. 예외가 발생하면 재 시도하고 최대 재시도 메시지를 이동해야한다. 오류 큐로.
Nservicebus가 이와 같이 작동하도록 구성 할 수 있습니까?
본인은 알고 있지만 대안을 선호합니다. 메시지 전송을 처리하는 중 메시지를 엿보고 처리가 성공한 경우 대기열에서 메시지를 수신하므로 트랜잭션을 사용하는 것보다 신뢰할 수 있지만 단점이 있지만 다중 스레드 시나리오에서는 작동하지 않지만 단일 스레드에서 실행 중이라는 것을 알고 있으면 (비 상용 nservicebus를 사용하고 있기 때문에) 알고 있습니다. 그런 메커니즘을 사용하여 DTC를 피할 수있었습니다. – Giedrius