1

2種類の複数のノードがあります。

ノードの 1 つのタイプは特定のサーバーで 1 つの作業を行い、もう 1 つは別のことを行います。

それらを「type1」と「type2」と呼びましょう。

私はそれらを起動しています:

erl -pa ebin -name type1@sub1.mydomain.com -setcookie abc
erl -pa ebin -name type2@sub2.mydomain.com -setcookie abc
erl -pa ebin -name type1@sub3.mydomain.com -setcookie abc

sub1.mydomain.com、sub2.mydomain.com、および sub3.mydomain.com は、インターネット上の 3 つの異なるサーバーです。

明らかに、type2 ノードは両方の type1 を相互接続するためにここにあります。Type2 サーバーは、すべてが機能するために生きている唯一の「確実な」ノードです。

Type1 サーバーは動的であるため、新しい type1 サーバーを実行するたびに、他のすべてのノードに接続するために type2 サーバーに ping を実行します。

つまり、少なくとも 2 つの type1 ノードが稼働している場合、作業をクラスター化する必要があります。

したがって、nodes() の戻り値から、どのノードが type1 であるかを判断したいと思います...

私はatom_to_stringから文字列を取得し、返された文字列でtype1をチェックすることができますが、それは間違った方法のようです.また、制限のために特定のポートを使用することはできません.

任意の提案をいただければ幸いです。

4

1 に答える 1