0

Erlang のサービスがあります。サービスに接続しようとしています。ただし、接続の作成がタイムアウトになることがあります。これは、サービスがビジーである可能性があるためだと思います。これは定期的で、しばらくしてからプログラムを再実行するとうまくいきます。

Erlang で接続プールがどのように定義されているかわかりません。私は同じことを調べようとしており (残念ながら、これまでのところあまり成功していません)、接続プールのサイズを変更したいと考えています。私は主に、jsonrpc コマンドを実行するときに接続管理がどのように行われるかを調べています。ドキュメントによると、通信からクライアントとサーバーの間に新しい接続のみが作成されます。もしあれば、これの上限を変更する方法を特定しようとしています。

ありがとうございました

4

1 に答える 1

0

Erlang で接続プールがどのように定義されているかわかりません。

Erlang には、ranchswarmなどの有名な接続プールがいくつかあります。ここでは、それらの概要を確認できます。

もしあれば、これの上限を変更する方法を特定しようとしています。

たとえば、牧場の場合、次の方法で接続プールのサイズを設定できます。

AcceptorNumbers = 100,
{ok, _} = ranch:start_listener(
    ListenerRef, 
    AcceptorNumbers,
    Transport, [{port, Port}],
    Protocol, Options
).

また、OTP 動作の上に独自の接続プールを作成することもできます。たとえば、クライアント接続を保持し、監視される汎用有限ステート マシン ( ) のプールは、このチュートリアルgen_fsmと同じくらい簡単です。

于 2016-01-09T08:54:31.173 に答える