я предполагаю, что вы, вероятно, имели в виду replicated
таблицу. Предположим, у вас есть таблица мнений на узле: [email protected]
с -setcookie mycookie
, независимо от того, реплицирована ли она на другом узле или нет, если я хочу получить доступ к записям с другого терминала, тогда мне нужно использовать erlang и в этом другом терминале, создав узел, соединяя этот узел с нашим узлом с таблицей (вы гарантируете, что все они имеют один и тот же файл cookie), затем вы вызываете метод на удаленном узле.
Допустим, вы хотите использовать метод add_record
в модуле mydatabase.erl
на узле [email protected]
с таблицей мнений. Я открываю терминал Linux и ввожу следующее:
$ erl -name [email protected] -setcookie mycookie
Eshell V5.8.4 (abort with ^G)
1> N = '[email protected]'.
'[email protected]'
2> net_adm:ping(N).
pong
3> rpc:call(N,mydatabase,add_record,[RECORD]).
{atomic,ok}
4>
with this module (rpc
), you can call any method on a remote node, if the two nodes are connected using the same cookie. start by calling this method on the remote node:
rpc:call('[email protected]',mnesia,info,[]).
It should display everything in your remote terminal. I suggest that probably, you first go through this lecture:
Distributed Erlang Programming and then you will be able to see how replicated mnesia tables are managed. Go through that entire tutorial on that domain.
person
Muzaaya Joshua
schedule
24.02.2012