Publish/Subscribe 기능을 갖춘 분산 아키텍처 메시징 시스템/서비스 버스가 필요합니다. 누구든지 우리가 .net 응용 프로그램에 사용할 수있는 프레임 워크에 대해 어떤 reccomendations 있습니까?.net 서비스 버스 권장 사항?
답변
NServiceBus 인기가 높아지고 있습니다. 그것은 오픈 소스이기도합니다. Scott Hanselman이 Udi Dahan과 NServiceBus에 대해 이야기하면서 여기에 Hanselminutes episode이 있습니다. 당신은 확실히 그것을 사용하여 평가해야합니다.
오픈 소스이지만 라이선스를 살펴 보는 것이 좋습니다. 유스 케이스 중 일부만 무료입니다.다른 경우에는 비용이 부과되는 상용 라이센스가 필요할 수 있습니다. – Manfred
소스 코드 (버전 2.0 이후)가 오픈 소스 라이센스 (최소한 공통적 인 것은 아닙니다)로 부여되지 않으므로 nServiceBus 소스 코드를 다운로드하는 것을 멀리하고 싶을 것입니다. 그래서 소스 코드를 가짐으로써 당신은 잠재적으로 멍청한 법적 영역에서 스스로를 찾을 수 있습니다. 당신이 작은 웹 상점, 아마 진짜 문제점 아닙니다 인 경우에. 그러나 당신이 주머니가있는 Fortune 500 대 기업인 경우 ... –
NServiceBus는 몇 가지 주석을 명확히하기 위해 상호 라이센스를 사용합니다. 기본적으로 NServiceBus를 사용하여 소스를 오픈해야한다는 것을 의미합니다. 그것이 당신을 위해 작동하지 않는다면, 당신은 그것을 사야 만합니다. – Vaccano
지금까지 .NET 스택의 더 성숙한 서비스 버스 구현이 없습니다 : 그것은 여기 처음부터 NServiceBus 솔루션을 구축하기 위해 어떤 건지 보여주는 또한 DNR TV 에피소드가있다. Microsoft는 현재이를 개발 중입니다. 당신은 자바 세계에서 하나를 사용할 수있는 옵션으로
http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx
. 예를 들어 TIBCO는 .NET 클라이언트 인 avilable 또는 OpenMQ를 사용합니다.
다양한 기능이 필요하지 않고 자신의 시스템을 개발할 준비가되면 WCF를 사용하십시오. WCF 콜백이 이에 적합합니다.
나는 ESB for Messaging을 착각하고 있다고 생각합니다. Tibco 및 OpenMQ는 메시지 대기열입니다. 그들은 단순히 전송 메커니즘을 제공합니다. 더 이상은 없습니다. .NET 서비스 버스 구현 정보 : NServiceBus가 성숙한 제품과 거의 비슷해 보이지만 그 노력은 그렇게 할 것으로 보입니다. WCF를 서비스 버스로 사용하여 여러 가지 솔루션을 부분적으로 구축 한 사람은 다음과 같습니다. 아니요. WCF는 적합하지 않습니다. WCF의 Pub/sub는 가장 적은 것을 말하기위한 피타 (pita)이며 WCF에 대한 심층적 인 다이빙이 필요하며 아키텍처가 의미있는 것은 아님을 알기 만하면됩니다. – Noctris
IMHO 사실이 아닙니다. Neuron ESB는 안정적이고 성숙하며 Microsoft 기술을 기반으로합니다. (.NET 포함 WCF/MSMQ 등) – larsw
masstransit과 rhino service bus도 확인하십시오. 오픈 소스와 매우 똑똑한 사람들이 썼습니다.
Apache NMS에 통합 된 ActiveMQ은 엄청나게 이해하기 쉽고 설정이 투명합니다.
예를 들어, ActiveMQ에는 웹 프론트 엔드가있어 웹 브라우저를 사용하여 메시지 대기열을보고 메시지를 읽고, 삭제하고 심지어 만들 수 있습니다. 따라서 분산 응용 프로그램의 한 면만 개발하고 테스트 할 수 있으며 디버깅 및 모니터링은 매우 간단합니다.
NServiceBus는 다른 대기열 중에서도 ActiveMQ (4.0 이상)에서 실행될 수 있습니다. –
저는 현재 오픈 소스 WCF 기반 서비스 버스에서 작업 중입니다. 여기에서 찾을 수 있습니다 : http://rockbus.codeplex.com/. 동적 (@ 런타임) 구독, 서브 스크립 션 저장소 (데이터베이스), 플러그 형 전송, XPath 기반 콘텐츠 기반 라우팅, wcf 프로토콜을 통한 트랜잭션 전달, 라운드 로빈 전달, 플러그 방식 구독 평가 등을 지원합니다. 봐라!
노예로 아직 사용하지는 않았지만 Neuron ESB은 확실한 구현으로 나타났습니다.
체크 아웃 RabbitMQ을 확인하십시오. .NET 클라이언트는 모든 기능을 갖추고 있으며 사용하기가 쉽습니다. 초기 액세스 판에서 사용할 수있는 RabbitMQ in Action과 RabbitMQ in Depth이라는 책이 있습니다.
RabbitMQ가 오픈 소스 메시지 큐가 아닌가? 나는 그 자체로 실제로 서비스 버스 프레임 워크라고 믿지 않는다. – gabe
기술적으로 메시지 브로커입니다. 프로젝트 요구 사항을 충족하는 경우 사람들이 프로젝트를 분류하는 방법에 신경 써야합니까? – TrueWill
브로커가 더 많다는 것을 알고 있으면 도움이됩니다! 나는 용어에 신경 쓰지 않지만이 기술들 간의 차이점을 두뇌로 감싸려고 노력하고있다. (이 q/a의 특성이기 때문에). 브로커와 버스 간의 차이점에 대해이 흥미로운 글을 기억했습니다 : http://www.udidahan.com/2011/03/24/bus-and-broker-pubsub-differences/. – gabe
이러한 질문은 매우 건설적입니다. 이 질문은 Google 검색의 상단에 있으며 매우 유용합니다. UML에 대한 내 질문과 동일 http://stackoverflow.com/q/6877121/377133 –
이것은 건설적인 것이 아닙니까? 농담 해. 나는이 질문이 초 건설적인 것이라고 말한다. 이 유형의 질문에 대한 최고의 자료. – kheya
@kheya 이러한 유형의 질문은 무수한 이유 (스팸 가능성 및 이러한 도구가 구식이되는 속도)에 대해 건설적인 것으로 간주되지 않았습니다. 다음은 메타 설명에 대한 답변 중 하나입니다. 자세한 내용은 다음과 같습니다. http://meta.stackoverflow.com/a/251135/1195056 – krillgar