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 回答