ranch代码简述

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ranch代码简述相关的知识,希望对你有一定的参考价值。

最近要看一下erlang连接池,觉得ranch很不错。

github上面有人写了ranch的代码阅读,可以看一下,链接在这里

1. ranch可以同时监听多个端口,每个端口的连接信息可以单独配置。

每个端口的监听信息通过ranch_server进程记录,然后获取信息可以从ets表读取。因为配置信息很少修改,而获取信息比较多。这样的读写分离比较方便并发。

2. 每个连接可以设置最大连接数,通过ranch_conns_sup.erl模块控制。

每个连接过来,连接池都会通知ranch_conns_sup进程更新进程数,然后根据现在的连接情况而决定是否进行下一次socket的连接。

 ranch_server记录并管理所有端口连接信息,ranch_conns_sup进程记录并管理单独端口中的连接池的信息,都是一对多的关系。

以上是关于ranch代码简述的主要内容,如果未能解决你的问题,请参考以下文章

检索客户端IP:ranch

使用牛仔示例启动应用程序时出错('noproc',ranch_listener_sup)

当客户端关闭连接时,Cowboy/Ranch 杀死处理程序进程

ranche 中使用 alpine dns 注意事项

《Android权威编程指南(The Big Nerd Ranch Guide)(第二版)》12.4挑战练习

简述JAVA中继承实现代码复用