문제

의존성 배포가 0 인 제품 (이상적으로 오픈 소스이지만 필요하지 않음)이 있습니까? 내가 찾을 수 있었던 모든 서비스 버스 또는 큐 라이브러리는 큐 앱 중 하나 (예 : MSMQ) 또는 데이터베이스에 의존합니다. 응용 프로그램에 대한 참조를 추가하고 빌드 한 다음 가능한 한 적은 구성으로 배포 할 수있는 매우 가벼운 솔루션을 원합니다.

이상적인 세상에서, 대기열/서비스 버스는 IIS에서 실행되며 웹 및 풍부한 고객이 이와 대화 할 수 있도록합니다.

이러한 도구는 로컬 개발 기계에서 대형 분산 시스템의 빠른 프로토 타이핑에 이상적입니다.

도움이 되었습니까?

해결책

Ayende의 Rhino 대기열은 정확히 당신이 찾고있는 것입니다. 이것은 블로그 게시물을 소개합니다.

http://ayende.com/blog/archive/2008/08/01/rhino-queues.aspx

이 게시물에 언급 된 모든 제한 사항은 그 이후로 수정되었다고 생각합니다.

블로그 게시물에서 Rhino 대기열은 다음과 같습니다.

  • xcopyable, Zero Administration, Embedded, Async 대기 서비스
  • 네트워킹에 견고합니다
  • 정전 시스템 트랜잭션 지원
  • 빠른
  • HTTP에서 작동합니다

다른 팁

Shuggycouk의 제안과 비슷한 맥락에서 Windows 내장 데이터베이스 (이미 Windows와 함께 설치되어 있음)를 사용하여 대기열 (또는 대기열)을 조작 할 수 있습니다. 관리 코드 액세스 라이브러리 (오픈 소스)가 있습니다. http://www.codeplex.com/managedesent. 글쓰기 / 독서 씨족이나 덩어리를 고수하면 잘 작동해야합니다. 정말 영리하고 싶다면 사용할 수 있습니다. nservicebus 작성 (기여?) ESENT-PLAVORED 가입 저장 및 전송. Esent On을 사용하는 데 약간의 예측이 있습니다 Ayende의 블로그 또한 (수분이 많은 비트를 위해 그의 SVN 저장소 주위를 찌를 필요가 있습니다).

당신이 행복하다면 :

  1. Windows 특이 적
  2. 로컬 도메인으로 제한됩니다
  3. 지원되는 메시지 크기가 심각하게 제한됩니다
  4. P/Invoke에서 기본 Win32 통화를 감싸십시오
  5. 여론 조사를 직접 처리하십시오
  6. 앞뒤 커뮤니케이션을 허용하는 데 필요한 해킹을 처리합니다.
  7. 이름을 동기화하는 데 필요한 공유 구성을 처리합니다.

그런 다음 창문 주위에 빠른 래퍼가 있습니다 메일 슬롯 API 충분할 수 있습니다.

이것 간단한 예 시작하기위한 합리적인 기초입니다.

이 기사 추가 정보가 있지만 유스 케이스는 (구성 요소가 아닌) 제어를 통해서도 사용되지 않는다고 가정합니다.

이 기사 C ++이지만 더 높은 표준입니다 (그리고 주석자는 더 큰 메시지를 여러 작은 메시지로 배치하기 위해 확장했습니다).

424 바이트 (따라서 .NET 212 숯으로)를 얻을 수 있습니다. 텍스트를 말하는 경우 유용한 메시지 길이를 두 배로 늘리기 위해 ASCII로 떨어 뜨릴 수 있습니다.

단순성, 제한 및 기능 부족에도 불구하고 멀티 캐스트 전달을 제공합니다.

이것 Ayende Post 3 개의 서비스 버스를 제공하고 흥미로운 비교합니다. 우리는 사용 nservicebus 그리고 그것이 명확하지 않다면 생각하십시오 Udi Dahan 비 의존적 대기열을 연결하는 방법에 응답합니다.

우리는 MSMQ를 행복하게 사용하지만 다른 옵션이 있으며 이론적으로는 실질적으로 무엇이든 열려 있어야합니다. 선택에 따라 신뢰성과 내구성을 잃을 수 있습니다.

왜 안 돼 아마존 메시지 서비스 간단한 대기열 서비스?

우리는 프로젝트를 MSMQ에서 MSMQ로 옮겼습니다 ActiveMQ. 정말 낫다 :)
activemq입니다 오픈 소스 Apache 웹 서버를 기반으로 한 대기열.
우리는 MSMQ가 많은 문제를 겪고있는 높은 데이터 워크 플로우에서 생산에 그를 사용했습니다 (우리는 1 년에 MSMQ와 협력합니다).
CSHARP 구현은입니다 nms

저는 현재 오픈 소스 WCF 기반 서비스 버스를 연구하고 있습니다. 여기에서 찾을 수 있습니다. http://rockbus.codeplex.com/. Dynamic (@Runtime) 구독, 소개 저장소 (데이터베이스), 플러그 가능한 전송, XPath 기반 컨텐츠 기반 라우팅, WCF 프로토콜에 대한 트랜잭션 전달, 라운드 로빈 제공, 플러그 가능한 구독 평가 등을 지원합니다. 보세요!

IronMQ와 같은 서비스 사용에 대해 생각해 보셨습니까? http://iron.io?

의존성이없고, 큐 인프라를 설정하지 않고 빠르게 프로토 타입 앱을 만들 수 있으며, 이용 가능하고 빠릅니다.

현재 로컬로 설치 가능한 버전은 없지만 다가오는 OpenStack 프로토콜을 기반으로하므로있을 것입니다.

BTW 나는 철을 위해 일합니다.

노력하다 https://github.com/mcintyre321/pieq - 이것은 스레드 사프, 영구적, 제로 콘피드, 내장 된 작업 대기열을 작성하려는 시도입니다. 아마 약간의 사랑이 필요하지만, 그것이 당신이 찾고있는 도구의 종류일지도 모릅니다.

JMS 제공 업체/서버 (HSQLDB 생각)에 실제로 연결하지 않고 JMS 애플리케이션을 테스트하는 데 사용할 수있는 Inmemory JMS 라이브러리를 개발했습니다. 연결이나 프로토콜이나 다른 것을 처리 할 필요가 없습니다. 메시지를 보내고받는 것만 큼됩니다.

https://github.com/dhana-krishnasamy/inmemoryjms

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top