poolboy_mysql代码解析

整合了mysql-otp 和 poolboy两个库
提供一个可伸缩的进程池
 
维护较好的一个数据库驱动,
与emysql的区别:
1.本身不启动application,生成的连接可以挂在任意进程下,emysql则挂在自己启动的emysql_conn_mgr下
2.创建连接会创建一个临时进程,不会阻塞主进程。emysql创建进程会阻塞
3.由于1的特点,可以接入pool_boy动态管理mysql连接池
 
架构:
 
pool1:poolboy的主进程,一个pool对应一个
<0.159.0>: poolboy_sup,进程池的管理进程
 
poolboy的动态进程数管理:
当取出进程的时候,判断如果当前没有进程可取, 且没有达到最大溢出限制,则动态增加进程
 
当放回进程时,如果等待队列为空
溢出进程为0时:放回进程
溢出进程大于0时:丢弃进程,溢出数-1
 
 
 
 
 
posted @ 2020-06-17 19:16  feapoi  阅读(282)  评论(0)    收藏  举报