Frage

Gibt es ein Produkt (idealerweise Open Source, aber nicht notwendig), dass würde es ermöglichen, einen Null-Abhängigkeit Einsatz? jeder Service Bus oder Warteschlange Bibliothek ich in der Lage bin zu finden hat eine Abhängigkeit von einem der Warteschlangen-Anwendungen (wie msmq) oder eine Datenbank. Ich würde eine sehr leichte Lösung, dass ich auf meine Anwendung eine Referenz nur hinzufügen können, bauen sie, und stellen Sie sie mit so wenig Konfiguration wie möglich.

In einer idealen Welt, der Warteschlange / Service Bus würde auf IIS ausgeführt und ermöglicht Web und Rich-Clients, um es zu sprechen.

Ein solches Werkzeug würde für schnelles Prototyping von großen verteilten Systemen auf einer lokalen Entwicklungsmaschine ideal.

War es hilfreich?

Lösung

Rhino Queues von Ayende ist genau das, was Sie suchen, ist dies die Blog-Post es Einführung:

http://ayende.com/Blog/archive/ 2008/08/01 / Rhino-Queues.aspx

Ich denke, dass alle Beschränkungen in diesem Beitrag erwähnt sind seitdem fest.

Aus der Blog-Post, welches Nashorn Warteschlangen ist:

  • XCopyable, Zero Administration, Embedded, Async Queuing-Dienst
  • Robust im Angesicht der Vernetzung
  • Ausfälle System.Transactions Unterstützung
  • Schnell
  • Werke über HTTP

Andere Tipps

In ähnlicher Weise zu ShuggyCoUk Vorschlag, man kann rig eine Warteschlange (oder Warteschlangen) unter Verwendung des in Windows integriert in ESENT-Datenbank (bereits mit Windows installiert kommt). Es gibt eine verwalteten Code-Zugriffs-Bibliothek (Open Source): http://www.codeplex.com/ManagedEsent . Wenn Sie mit dem Schreiben / Lesen CLOBs oder BLOBs halten, sollte es gut funktionieren. Wenn Sie wirklich klug sein wollen, können Sie NServiceBus und write (bei?) ESENT Geschmack Abonnement Lagerung und Transporte . Es gibt einige Vorstöße mit ESENT auf Ayende Blog sowie (Sie werden für das um seinen SVN-Repository stecken haben saftige Bits).

Wenn Sie glücklich zu sein:

  1. Windows-spezifische
  2. Begrenzt auf der lokalen Domäne
  3. Ernsthaft in der Nachrichtengröße begrenzt unterstützt
  4. Wickeln Sie die zugrunde liegenden win32 Anrufe in P / Invoke
  5. Deal mit der Abfrage selbst
  6. Deal mit dem Hacks benötigte hin und her Kommunikation
  7. ermöglichen
  8. Deal mit dem gemeinsamen Config benötigt, um die Namen zu halten synchron

Dann wird eine schnelle Wrapper um die Fenster Mailslot-API ausreichend sein.

Diese einfaches Beispiel eine hinreichende Grundlage für anfangen.

diesem Artikel einige weitere Informationen hat aber übernimmt der Anwendungsfall ist über eine Steuerung (eher als eine Komponente, wie es sein sollte) Integration sowie einige schlechte WinForms so für zufällige Lektüre eher als eine Grundlage für jede Bibliothek in Betracht gezogen werden sollte.

Dieser Artikel ist C ++, ist aber von einem höheren Standard (und ein Kommentator erweitert es die Kommissionierung von größeren Nachrichten in mehrere kleinere zu unterstützen).

erhalten Sie 424 Bytes (also mit .Net 212 Zeichen) Sie können ASCII fallen Ihre nützliche Nachrichtenlänge zu verdoppeln, wenn Sie Text sprechen.

Beachten Sie, dass trotz seiner Einfachheit, Einschränkungen und fehlenden Features, die es Multicast-Lieferung liefert, was oft komplex einen Punkt Schicht auf Protokoll selbst zu zeigen.

Das ayende Post bietet und interessanten Vergleich von drei Bussen. Wir verwenden NServiceBus und denken, wenn es nicht klar, dass Udi Dahan reagieren würde, wie Sie in nicht-abhängige Warteschlange stecken würde.

Wir arbeiten mit MSMQ glücklich, aber es gibt auch andere Optionen und in der Theorie sollte es praktisch alles offen sein, da Sie einige Zuverlässigkeit und Haltbarkeit je nach Ihrer Wahl kann verlieren.

Warum nicht Amazon Nachrichtendienst Einfache Queue Service?

Wir zogen unsere Projekte von MSMQ auf ActiveMQ . es ist wirklich besser :)
ActiveMQ ist Open Source Warteschlange, basierend auf Apache Webserver.
Früher haben wir ihn in der Produktion auf Hoch häufig Daten-Workflow, wo msmq eine Menge Probleme haben (wir arbeiten mit msmq pro Jahr)
Die csharp Implementierung ist nms

Im Moment arbeite ich an einem Open-Source-WCF basierten Service Bus. Sie können es hier finden: http://rockbus.codeplex.com/ . Es unterstützt dynamische (@ Laufzeit) Abonnements, subcription Repository (Datenbank), steckbar Transporte, XPath basierte Content-basiertes Routing, Transaktionsabgabe über wcf Protokolle, Round-Robin Lieferung, steckbare Abonnement Auswertung und vieles mehr. Werfen Sie einen Blick!

Haben Sie sich Gedanken über einen Dienst wie IronMQ mit von http://Iron.io ?

Sie würden keine Abhängigkeiten haben, könnte schnell Prototyp-Anwendungen ohne jede Warteschlange Infrastruktur einrichten, und es ist hoch verfügbar und schnell.

Es ist nicht eine lokal installierbare Version, aber es basiert auf dem kommenden Openstack-Protokoll so wird es sein.

Btw Ich arbeite für Eisen.

Versuchen Sie https://github.com/mcintyre321/PieQ - das ist mein Versuch, eine schreiben THREAD, persistent, Null-config, eingebettet Arbeitswarteschlange. Es braucht wohl eine wenig Liebe, aber ich denke, es könnte die Art von Werkzeug sein, die Sie suchen.

Ich habe eine InMemory JMS-Bibliothek entwickelt, die bei der Prüfung JMS-Anwendungen verwendet werden können, ohne wirklich zu verbinden Provider / Server (man denke an hsqldb) JMS. Sie müssen nicht mit Verbindung oder Protokoll oder irgendetwas beschäftigen, alles, was Sie tun müssen, ist, und Empfangen von Nachrichten zu senden.

https://github.com/Dhana-Krishnasamy/InMemoryJMS

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top