Frage

Ich habe einen Ejabberd -Server mit einer guten Menge an benutzerdefinierten Modulen. Ich habe mehrere MNEsie -Tabellen und ich weiß, dass diese leicht zwischen Knoten ohne Änderung des Codes kopiert werden können. Ich habe mich gefragt, ob es einen ähnlichen Weg mit ETS -Tischen gibt.

Idealerweise wäre es schön, mehrere Maschinen mit genau den gleichen MNEsie- und ETS -Daten laufen zu lassen, ohne meine ETS -Tabellen in MNEsie -Tabellen umwandeln zu müssen. (Und so eine gute Menge Code umschreiben.)

Einer hatte zwar einen RPC: Rufen Sie die ETS -Tabellen für jeden Knoten an, aber ich war mir nicht sicher, wie sich dies auf die Leistung auswirkt.

Wenn jemand Antworten hat, lassen Sie es mich bitte wissen.

War es hilfreich?

Lösung

Nein, ETS -Tabelleninhalte können nicht für Sie repliziert werden.

Replikation (und Transaktionssicherheit) ist die Funktion, die die MNEsia -Datenbankanwendung einführt. Seine Implementierung verwendet ETS für RAM_Only -Tabellen.

Andere Tipps

Sie können RPC: Rufen Sie die ETS -Tabellen auf dem entfernten Knoten an.

Aber der springende Punkt von MNEsia besteht darin, die Art von Problem zu beheben, in die Sie stoßen: Reproduzieren

Die Umwandlung Ihres Codes in MNEsia ist eine gute Investition für die Zukunft. Und obwohl Sie riskant sind, könnten Sie immer verwenden mnesia:ets() Zur Minimierung der Codeänderung.

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