Ich suche nach einem Warteschlangensystem, in dem mehrere verschiedene Abonnenten Elemente aus einer zentralen Warteschlange abrufen können. Die Nachrichten werden sehr leicht sein, aber ich brauche etwas, das beständig und sehr schnell ist, da das Volumen der Nachrichten groß sein wird. MSMQ ist etwas schwer und ich suche nach etwas Leichtem. Vorschläge?
Es gibt ein wirklich schönes Projekt auf Codeprojekt . Das ist eine leichte Alternative zu MSMQ. Sie können Persistenzspeicher Ihrer Wahl verwenden, standardmäßig wird Sqlite verwendet. Das ist wirklich gut.
Ich denke, die Frage hier ist: Brauchst du Ausdauer? Wenn Sie Schutz vor Duplikaten, mehreren Clients und Persistenz benötigen, sind Sie gezwungen, ein Sperrschema für Ihren Warteschlangenmanager zu verfolgen, das Sie in der Leistung beeinträchtigt. Die Persistenz selbst wird Sie verletzen, wenn Sie den Warteschlangenspeicher nicht auf eine Hochgeschwindigkeits-Dateifreigabe stellen.
Wenn Sie Ihre App so umartikulieren können, dass sie einen Queue-Crash übersteht (einen Feed auf dem Server behalten oder eine Request / Response-Architektur für Nachrichten haben), können Sie die Notwendigkeit der Persistenz umgehen. Wenn Sie das tun, werden Sie feststellen, dass Ihr Warteschlangenmanager ausschließlich im Speicher ausgeführt wird und extrem schnell ist.