首页 > 代码库 > COWBOY业务流程简单分析

COWBOY业务流程简单分析

COWBOY是erlang的一个成功的开源库,学习的人也很多,本人学习erlang,就拿此库过来练练手。

 

COWBOY库也可以称之为COWBOY app,其启动依赖于cowlib,ranch,cryto这3个app,此3个app中对于ranch app也有过研究,之前也写过其分析文章,这里不再过多描述。

 

先看看COWBOY app的进程树情况

上面的图没有处理好,见谅!

 

看到上面的cowboy进程树,cowboy进程树没有对tcp连接,管理的操作的实现,tcp的连接管理等实现都由ranch实现。

cowboy负责对接收到的数据进行解析->处理(回调用户实现的接口)->响应(由客户调用)

每接收到一个连接,则创建一个cowboy进程,对此连接的数据进行处理。

所以可以得出:每一个cowboy进程表示一个用户的连接。每一个进程的流程则代表依次请求的完整过程。

一下流程图可以查看cowboy对于请求数据的处理

cowboy的大概情况就介绍到这里,后续使用的还会有更加深入的体会,到时再和大家分享。