2009-04-10 4 views
4

Gibt es irgendwelche Probleme bei der Verwendung von DRb für die Implementierung einer In-Memory-Nachrichtenwarteschlange und für die Synchronisierung von Aktionen zwischen Prozessen? Ich habe gehört, dass es unzuverlässig sein könnte, habe aber nichts im Internet gefunden, das diese Behauptung bestätigt.Wie zuverlässig ist DRb?

Falls dies relevant ist, würden dies Prozesse sein, die mit einer App-Umgebung rails ausgeführt werden, die Modelle in der Datenbank aktualisieren.

Antwort

5

DRb ist ziemlich etabliert und weit verbreitet. Ich weiß nichts, was es unzuverlässig machen würde, aber ich benutze es nicht als Nachrichtenwarteschlange.

Ich würde sagen, dass Sie mehr Glück haben werden, wenn Sie eine Nachrichtenwarteschlange als Nachrichtenwarteschlange verwenden und nicht rollen Ihre eigenen mit DRb. Je nach Ihren Bedürfnissen gibt es eine Reihe von Lösungen, Memcacheq ist ziemlich einfach zu interagieren, und ist in-memory und ist ziemlich solide.

0

Ich persönlich benutze DRb läuft in zwei separaten Prozessen auf meinem Webserver ein perform minutes-long calculations, allowing the website to poll and check in on the progress, ein anderer als Shared Captcha Server mit eigener DB-Verbindung für verschiedene Anwendungen auf meinem Server. In keinem Fall habe ich jemals den DRb-Server ausfallen lassen (außer es war ein Programmierfehler meinerseits).

Auch wenn der DRb-Server fehlschlägt, können Sie ihn erneut starten, und der noch laufende Client wird sich beim nächsten Mal, wenn er kommunizieren muss, wieder sauber verbinden.