2009-10-09 3 views
65

Publish/Subscribe 기능을 갖춘 분산 아키텍처 메시징 시스템/서비스 버스가 필요합니다. 누구든지 우리가 .net 응용 프로그램에 사용할 수있는 프레임 워크에 대해 어떤 reccomendations 있습니까?.net 서비스 버스 권장 사항?

+14

이러한 질문은 매우 건설적입니다. 이 질문은 Google 검색의 상단에 있으며 매우 유용합니다. UML에 대한 내 질문과 동일 http://stackoverflow.com/q/6877121/377133 –

+4

이것은 건설적인 것이 아닙니까? 농담 해. 나는이 질문이 초 건설적인 것이라고 말한다. 이 유형의 질문에 대한 최고의 자료. – kheya

+2

@kheya 이러한 유형의 질문은 무수한 이유 (스팸 가능성 및 이러한 도구가 구식이되는 속도)에 대해 건설적인 것으로 간주되지 않았습니다. 다음은 메타 설명에 대한 답변 중 하나입니다. 자세한 내용은 다음과 같습니다. http://meta.stackoverflow.com/a/251135/1195056 – krillgar

답변

24

NServiceBus 인기가 높아지고 있습니다. 그것은 오픈 소스이기도합니다. Scott Hanselman이 Udi Dahan과 NServiceBus에 대해 이야기하면서 여기에 Hanselminutes episode이 있습니다. 당신은 확실히 그것을 사용하여 평가해야합니다.

업데이트 : http://www.dnrtv.com/default.aspx?showNum=199

+34

오픈 소스이지만 라이선스를 살펴 보는 것이 좋습니다. 유스 케이스 중 일부만 무료입니다.다른 경우에는 비용이 부과되는 상용 라이센스가 필요할 수 있습니다. – Manfred

+3

소스 코드 (버전 2.0 이후)가 오픈 소스 라이센스 (최소한 공통적 인 것은 아닙니다)로 부여되지 않으므로 nServiceBus 소스 코드를 다운로드하는 것을 멀리하고 싶을 것입니다. 그래서 소스 코드를 가짐으로써 당신은 잠재적으로 멍청한 법적 영역에서 스스로를 찾을 수 있습니다. 당신이 작은 웹 상점, 아마 진짜 문제점 아닙니다 인 경우에. 그러나 당신이 주머니가있는 Fortune 500 대 기업인 경우 ... –

+0

NServiceBus는 몇 가지 주석을 명확히하기 위해 상호 라이센스를 사용합니다. 기본적으로 NServiceBus를 사용하여 소스를 오픈해야한다는 것을 의미합니다. 그것이 당신을 위해 작동하지 않는다면, 당신은 그것을 사야 만합니다. – Vaccano

2

지금까지 .NET 스택의 더 성숙한 서비스 버스 구현이 없습니다 : 그것은 여기 처음부터 NServiceBus 솔루션을 구축하기 위해 어떤 건지 보여주는 또한 DNR TV 에피소드가있다. Microsoft는 현재이를 개발 중입니다. 당신은 자바 세계에서 하나를 사용할 수있는 옵션으로

http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx

. 예를 들어 TIBCO는 .NET 클라이언트 인 avilable 또는 OpenMQ를 사용합니다.

다양한 기능이 필요하지 않고 자신의 시스템을 개발할 준비가되면 WCF를 사용하십시오. WCF 콜백이 이에 적합합니다.

+15

나는 ESB for Messaging을 착각하고 있다고 생각합니다. Tibco 및 OpenMQ는 메시지 대기열입니다. 그들은 단순히 전송 메커니즘을 제공합니다. 더 이상은 없습니다. .NET 서비스 버스 구현 정보 : NServiceBus가 성숙한 제품과 거의 비슷해 보이지만 그 노력은 그렇게 할 것으로 보입니다. WCF를 서비스 버스로 사용하여 여러 가지 솔루션을 부분적으로 구축 한 사람은 다음과 같습니다. 아니요. WCF는 적합하지 않습니다. WCF의 Pub/sub는 가장 적은 것을 말하기위한 피타 (pita)이며 WCF에 대한 심층적 인 다이빙이 필요하며 아키텍처가 의미있는 것은 아님을 알기 만하면됩니다. – Noctris

+0

IMHO 사실이 아닙니다. Neuron ESB는 안정적이고 성숙하며 Microsoft 기술을 기반으로합니다. (.NET 포함 WCF/MSMQ 등) – larsw

3

Apache NMS에 통합 된 ActiveMQ은 엄청나게 이해하기 쉽고 설정이 투명합니다.

예를 들어, ActiveMQ에는 웹 프론트 엔드가있어 웹 브라우저를 사용하여 메시지 대기열을보고 메시지를 읽고, 삭제하고 심지어 만들 수 있습니다. 따라서 분산 응용 프로그램의 한 면만 개발하고 테스트 할 수 있으며 디버깅 및 모니터링은 매우 간단합니다.

+3

NServiceBus는 다른 대기열 중에서도 ActiveMQ (4.0 이상)에서 실행될 수 있습니다. –

3

저는 현재 오픈 소스 WCF 기반 서비스 버스에서 작업 중입니다. 여기에서 찾을 수 있습니다 : http://rockbus.codeplex.com/. 동적 (@ 런타임) 구독, 서브 스크립 션 저장소 (데이터베이스), 플러그 형 전송, XPath 기반 콘텐츠 기반 라우팅, wcf 프로토콜을 통한 트랜잭션 전달, 라운드 로빈 전달, 플러그 방식 구독 평가 등을 지원합니다. 봐라!

2

노예로 아직 사용하지는 않았지만 Neuron ESB은 확실한 구현으로 나타났습니다.

5

체크 아웃 RabbitMQ을 확인하십시오. .NET 클라이언트는 모든 기능을 갖추고 있으며 사용하기가 쉽습니다. 초기 액세스 판에서 사용할 수있는 RabbitMQ in ActionRabbitMQ in Depth이라는 책이 있습니다.

+0

RabbitMQ가 오픈 소스 메시지 큐가 아닌가? 나는 그 자체로 실제로 서비스 버스 프레임 워크라고 믿지 않는다. – gabe

+0

기술적으로 메시지 브로커입니다. 프로젝트 요구 사항을 충족하는 경우 사람들이 프로젝트를 분류하는 방법에 신경 써야합니까? – TrueWill

+2

브로커가 더 많다는 것을 알고 있으면 도움이됩니다! 나는 용어에 신경 쓰지 않지만이 기술들 간의 차이점을 두뇌로 감싸려고 노력하고있다. (이 q/a의 특성이기 때문에). 브로커와 버스 간의 차이점에 대해이 흥미로운 글을 기억했습니다 : http://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences/. – gabe