2014-06-05 2 views

답변

0

페인트 대기열 클라이언트를 사용하는 대신 내 응용 프로그램 중 하나에서 WCF와 함께 메시지 대기열을 사용하고있었습니다 (로컬에서 RabbitMQ 사용). 우리 팀의 관점에서 본 이유는 무엇입니까?

1, 우리는 응용 프로그램에 net.tcp를 통해 WCF를 사용하고 있습니다. 성능과 확장 성을 향상시키기 위해 RabbitMQ를 사용하기로 결정했습니다. WCF를 랩핑하면 전체 시스템 코드를 업데이트 할 필요가 없으며 WCF 전송 확장 및 구성 만 변경하면됩니다.

2, 우리는 WCF 채널 스택 모드, 스위치 보안 설정, 메시지 인코딩 등을 활용할 수 있습니다. plaint 대기열 클라이언트를 사용한다면 자체 빌드해야합니다.

3, 우리는 WCF에서 제공하는 메시지 교환 패턴을 활용할 수 있습니다.

4, 필요한 모듈을 추가/교체 할 수 있도록 WCF를 확장하고 사용자 지정하는 것은 매우 쉽습니다.

기본적으로 우리는 디자인보다는 WCF 아키텍처 범위를 사용하고 스스로를 구현하려고합니다.

희망이 조금 도움이됩니다.

+0

답변 해 주셔서 감사합니다. Shaun! RabbitMQ 클라이언트를 통해 커뮤니케이션을 양방향으로 설정하는 것이 하나의 질문입니다. 하지만 WCF로 랩핑하면 듀플렉스 기능을 사용해야 할 것입니다. 그리고 rabbitMQ를 사용하는 WCF가 net.tcp보다 확장 성이 높고 성능이 좋은 이유는 무엇입니까? – Pragmatic

+0

구현 한, 내 응용 프로그램에서 엄격한 이중이라고, 즉 1 : 1 통신 의미합니다. 또한 서비스 인스턴스가 콜백 계약을 구현하는 모든 클라이언트에 콜백을 보낼 수 있음을 의미하는 와일드 카드 이중 방식을 구현했습니다. –

+0

두 번째 질문에 답하지 못했습니다. "rabbitMQ로 WCF를 확장하고 성능을 향상시킨 다음 net.tcp를 사용하는 방법" – Pragmatic