2012-02-07 2 views
0

ServiceBus 구현 (NServicebus, MassTransit, ...)에 대해 많이 읽었으며 ServiceBus의 작동 방식을 이해하고 있다고 생각합니다. 나는 자신이 알고 있기 때문에 올바른 시나리오가 무엇인지 잘 모르겠다. 기술을 사용하는 경향이있다.Servicebus를 사용하는 시나리오

내 질문은 : ServiceBus를 사용하는 데 필요한 좋은 이유/시나리오는 무엇이며 DDD 기술을 사용해야합니까? (예를 들어 내 응용 프로그램이 외부 시스템과 통신하는 외부 시스템과

  • 통신 및 내 데이터베이스뿐만 아니라 나는 내에서 객체를 계속 예를 들어 나는,이 호출 얻을 있는지 확인하려면 :

    일부 시나리오는 내가 생각 데이터를 동기화하기 위해 외부 Webservice를 호출해야한다. 나는 Command를 생성 할 것이고, 이벤트를 얻는 2 개의 Handler를 가질 것이다. 하나는 데이터베이스에 저장하고 다른 하나는 Webservice를 처리한다. 명령이 실패하면 다시 시도한다)

  • 확장 성 (여러 대의 컴퓨터에서 수평 확장 가능)
  • (예를 들어, 여러 개의 순차적 인 작업을 수행하는 대신에 더 깨끗한 코드로 이어질 수 있습니다. 엔티티가 업데이트되어, 이러한 작업을 독립적으로 수행하는 다른 Message Handler가 있습니다. 엔티티를 저장하고, 다른 Handler는 비정규 화 된 데이터 저장소에 대한 업데이트를 수행 할 수 있습니다.

답변

2

NserviceBus를 사용하는 좋은 방법이 있다고 생각합니다. 아직 어떤 프로젝트에서도 사용하지는 않았지만 작동 방법을 파악하기 위해 실험실에서 약간의 작업을 수행했습니다. 나에게는 그들이 서비스 버스와의 시스템 간 통합을 위해 biztalk 통합 서버를 버렸다고 말해 준 오래된 동료가있다.

사가 (Saga 's)에 대한 지원을 잊지 마세요. 메시지간에 의존성이있을 때 매우 편리합니다. N 서비스 버스는 트랜잭션 및 비동기가 가능한 유형 안전 통신 종단점을 제공합니다.

DDD 서비스 버스에서는 응용 프로그램이 화재 및 잊어 버리기와 같은 asynch 도메인 이벤트를 처리하는 데 유용한 도구를 제공합니다. 웹 응용 프로그램을 개발하고 이메일, 페이스 북 통합, 트위터, 디스크에 파일로 데이터 저장, 응용 프로그램으로 메시지 보내기 등의 작업을 수행 할 때 적합합니다.

나는 우리의 성격 상 거의 모든 것을 복잡하게 만든다고 생각하기 때문에 "나는 내 자신을 알고 기술을 사용하는 경향이있다"고 말할 때 자기 관점의 좋은 징조라고 생각합니다. 우디 다한 (Udi Dahan)과 마찬가지로 소프트웨어 심플리 스 (Software Simplist) 프로덕션으로 만드십시오.