Momentan arbeite ich an einem verteilten Testausführungs- und Berichtssystem. Ich plane Redis PUB/SUB als Nachrichtenwarteschlangen- und Nachrichtenverteilungssystem zu verwenden.Redis PUB/SUB und hohe Verfügbarkeit
Ich bin neu in Redis, also versuche ich, so viele Dokumente wie möglich zu lesen und damit herumzuspielen. Eines der wichtigsten Themen ist die hohe Verfügbarkeit. Wie ich schon sagte, ich bin kein Experte, aber ich kenne die möglichen Optionen - Sentinel, Replikation, Clustering usw.
Was ist nicht klar für mich ist, wie die Pub/Sub-Funktion und die HA-Optionen sind miteinander verwandt. Was ist die beste Vorgehensweise, um ein zuverlässiges Messaging-System mit Redis aufzubauen? Mit reliable meine ich, wenn mein Redis Message Broker unten ist, sollte es eine Art von Backup-Knoten (ein Slave?) Geben, der in der Lage sein sollte, diese Rolle zu übernehmen.
Gibt es eine rein serverseitige Lösung? Oder muss ich einen intelligenten Wrapper um den Redis-Client erstellen, um damit umgehen zu können? Wird mir ein von Sentinel gesteuertes Setup helfen?
Haben Pubsub in einem verteilten Setup nicht verwendet, aber ich denke zuerst an Redis als Datenserver. Pubsub ist ein Sahnehäubchen. Wenn Sie eine zuverlässige verteilte Nachrichtenwarteschlange haben müssen, gibt es spezielle Lösungen. Ich habe gehört, RabbitMQ ist ziemlich gut. –
Ja, wir haben angefangen, Redis so zu benutzen (als "gemeinsames Wörterbuch") - aber während sich unser Projekt entwickelte, stellte sich heraus, dass Nachrichtenbasierte Kommunikation besser zu unseren Bedürfnissen passt. Redis war da, und es unterstützt es, also begannen wir, es als Nachrichtenbroker zu verwenden. Nichts ist in Stein gemeißelt, wir werden auch andere Lösungen prüfen. – user2519450