Erlang服务器连接池

时间:2015-11-17 22:07:19

标签: erlang json-rpc erlang-escript

我有一个Erlang服务。我正在尝试连接到该服务。但是,有时连接创建会超时。我相信这可能是因为服务可能很忙。这是周期性的,在重新执行我的程序一段时间后它运行良好。

我不确定如何在Erlang中定义连接池。我试图调查相同(遗憾的是到目前为止没有太大的成功),并希望更改连接池大小。我主要研究在执行jsonrpc命令时如何完成连接管理。根据文档,仅在客户端和服务器之间通过任何通信创建新连接。我试图找出如何改变这个的上限。

感谢您

1 个答案:

答案 0 :(得分:0)

  

我不确定如何在Erlang中定义连接池。

Erlang中有一些众所周知的连接池,如ranchswarmhere您可以找到它们的摘要。

  

我正在尝试确定如何更改此限制。

例如,在牧场的情况下,您可以这样设置连接池大小:

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

此外,您可以在OTP行为之上创建自己的连接池。例如,拥有客户端连接并受到监督的通用有限状态机(gen_fsm)池可以像this tutorial一样简单。