2017-08-12 6 views
2

私はオンラインの例を習得しており、すでにmnesia ramのコピーを使用してそれらを接続することもできますが、私はいくつかのことについてちょっと混乱しています。Erlang Mnesiaの配布方法

1:スターターノード(スキーマを作成するノード)はローカルスキーマのみを持っていますか? (例えば、ルートフォルダ= [email protected]

他のノードでは、単にmnesiaとchange_config(extra_db_nodes、[node])を起動して、自動的にオンになっているすべてのデータを取得することができます開始ノード。

これは私にとっては不思議なことです。すべてのノードがダウンするとどうなりますか?つまり、何かできるようになるには、スターターノードを最初に実行する必要があります。

2:ノードを接続してテーブルをコピーする方法はたくさんあるようです...これを行うさまざまな方法とその影響のリストを得ることができますか?

3:最初の質問から、change_configを呼び出した後、使用開始前にすべてのデータのダウンロードが完了したことをどのように知ることができますか?たとえば、誰かがノードに接続し、それらがすでにオンラインであるかどうかをチェックすると、別のノードに接続されている可能性があり、チェック中にそのデータを取得しない可能性があります。

4:ノードに接続したら、自動的にすべてのノードに接続されますか?そして、何もせずにあなたのローカルRAMのコピーを自動的に更新しますか?それは、読み書きの際にどのように同期を保証しますか?特別なことをしなくてはなりませんか?

もう一度質問1について - ローカルスキーマを保持するノードプロセスを実行できませんでした。このノードを使用してすべてのノードを一緒に接続できませんでしたか?可能であれば、記憶媒体がラムコピーをこのノードプロセスにコピーすることを禁じることができますか?

私はこれがたくさんあることを知っていますので、お時間をありがとうございます。

答えて

0

あなたの質問に直接答えはありませんが、Erlang Performance Labをチェックすると、さまざまなノード間のメッセージを視覚化することによってMnesiaの操作がどのように機能するかを理解するのに役立ちます。

関連する問題