0

サーバー上で実行される非常に単純なサービスがある場合、複数のサーバーで実行するように、このサービスをスケーラブルにするにはどうすればよいでしょうか? それは使用していregister(mod,func,[args])ますか?

プロセスの生成、ノードの作成、および新しいサーバーの作成の間で少し混乱しています。

クライアントのアクティビティを新しいサーバーにオフロードして、負荷を分散するにはどうすればよいですか?

4

2 に答える 2

3

生成プロセスにより、マルチコアを効率的に利用するより大きな粒度を実現できます。また、非同期動作を実装する機会も与えられます。

ノードを作成すると、システムを多数のホストに分散できます。ノードはお互いを認識し、透過的に通信できます。

サーバーが十分にステートレスである場合は、カップル サーバー ノードを作成し、それらの間でトラフィックを負荷分散することができます。

サーバーに重い計算がある場合は、カップルサーバーノードを使用してマップ/リデュースできます。

register を使用したこのコード スニペットの意味がわかりません。通常、サーバーエンドポイントは登録しませんが、サーバーノード、場所、負荷に関する知識を持つある種のルーターを登録します..

「ノード」と「プロセス」は Erlang の世界に由来しますが、「サーバー」はシステム内のレイヤーです。どのノードもサーバーになるように設計したり、クライアント要求を生成したりできます。プロセスは、ローカルまたはリモートのノードで生成されます。プロセスは、サーバーまたはクライアントのロジックを実行/実装する場合があります。

于 2012-06-26T19:35:52.370 に答える
1

この完全なErlang のオンライン無料ブックに従うと、すべてを発見できます。マルチプロセッシング、ディストリビューション、およびクライアント/サーバーシステムに直接ジャンプできます

于 2012-06-27T05:43:59.480 に答える