pooler和poolboy都是用erlang写的管理进程池的库。

pooler/poolboy
github : seth/pooler · GitHub
github : devinus/poolboy · GitHub

pooler相对于poolboy的优点

pooler比poolboy多了些概念

  • group

    在pooler里,每个pool都将属于一个group。这个概念的好处是,当我们调用pooler:take_group_member/1从进程池里取出一个member进程时,pooler会自动做负载均衡(其实跟当前Reverse做的工作一样,就是随机一下)。

    默认属于default组.

  • return member pool with status

    归还member进程的时候可以标记归还进程的状态,可以为okfail。pooler接收到该member进程后会检查其归还状态,若归还状态为fail,则异步将其restart。

  • track process

    其实进程跟踪严格说来就是根据归还状态来实现的,但因为这一点感觉尤其“贴心”,所以我想挑出来提一下。
    pooler会检测consumer进程的退出状态,如果consumer以normal退出,则pooler直接回收该consumer拿的member进程;否则restart其member进程。

  • 进程池可自动动态伸缩

    pooler支持进程池自动动态伸缩,它允许在进程池创建的时候传入以下参数自定义动态伸缩策略:

    • init_count: 一般情况下的进程池大小

    • max_count: pooler能自动“”,但最大不超过max_count

    • cull_interval = {tick, threshold}: tick是个时间段,每隔这么个时间pooler会把进程池大小“”回init_count,或者当进程池中空闲进程数目到达threshold的时候触发“”的动作,缩回init_count

pooler相对于poolboy的缺点
  • 用户失去了对member进程的可控度

    pooler会自动管理失效的member进程,当member进程down掉了就将其重启,一旦重启了就继续使用该member进程。这么做的好处显而易见,就是方便;但是坏处也同样令人头疼,就是用户失去了对于失效的member进程的控制。比如我想自定义member进程的重启策略,这就办不到。

    在用poolboy的时候,每当一个member进程down掉时用户会收到DOWN消息,用户可以以此自定义其重启策略。从这个角度上来说,pooler显得有点“多管闲事”。

转载于:https://www.cnblogs.com/unqiang/p/5210843.html

pooler [转]相关推荐

  1. pooler 连接池中报错 error_no_members

    连接池驱动,pooler 在使用中会报错" error_no_members" 分析:可能有以下3个地方对其有影响:    1)member 可能没回收: 2)wait_for_p ...

  2. Huggingface填坑:Unexpected key(s) in state_dict: “roberta.pooler.dense.weight“....

    在加载已经训练好的模型时,出现问题如下: RuntimeError: Error(s) in loading state_dict for RobertaForSequenceClassificati ...

  3. 服务中没有telnet_win7 服务中没有 prints pooler

    起因: 有人反馈无法打印(之前是正常的),远程过去看了下 ,发现打印是未识别状态,默认会觉得是驱动没有装好: 刚下好驱动开始添加打印机,又提示 打印服务没有启动: 打开 services.msc , ...

  4. 一本读懂BERT(实践篇)重点

    目录 一.什么是BERT? 二.BERT安装 三.预训练模型 四.运行Fine-Tuning 五.数据读取源码阅读 (一) DataProcessor (二) MrpcProcessor 六.分词源码 ...

  5. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  6. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  7. Bert系列(二)——源码解读之模型主体

    本篇文章主要是解读模型主体代码modeling.py.在阅读这篇文章之前希望读者们对bert的相关理论有一定的了解,尤其是transformer的结构原理,网上的资料很多,本文内容对原理部分就不做过多 ...

  8. PostgreSQL连接池pgbouncer的使用

    2019独角兽企业重金招聘Python工程师标准>>> 今天在虚拟机上整理了下pgbouncer的安装使用过程,记录如下.   说明:pgbouncer是一款轻量级针对postgre ...

  9. 深度学习模型压缩与加速综述!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Pikachu5808,编辑:极市平台 来源丨https://zh ...

最新文章

  1. python掌握程度怎么判断-想要学习人工智能需要掌握Python到什么程度
  2. Spring Boot 实战系列课程终于齐啦~
  3. 指针04 - 零基础入门学习C语言44
  4. 蓝桥杯 基础练习 数列排序
  5. java自动注入注解_Spring自动注解标签@Autowired不能注入xml配置的bean吗?
  6. c# datetime._C#| 带示例的DateTime.DayOfWeek属性
  7. 公众号php空间是啥意思,什么是“希尔伯特空间”?
  8. 微信小程序API之setInterval
  9. Luogu3178 [HAOI2015]树上操作
  10. 关于 iOS 的 StoryBoard,接受的那一刻才发现她的美 - 当然美的事物都需要业心照料
  11. 阿里技术专家甘盘:浅谈双十一背后的支付宝LDC架构和其CAP分析(含phil补充)
  12. 通达信筹码循环指标源码 显示吸筹拉升出货的过程
  13. 下载喜马拉雅工具 洪校长音频
  14. 基于JAVA的TPL解释器
  15. 路由控制——ACL、IP-Prefix List
  16. ListView接收另一个页面的数值显示
  17. 计算机硬件的配置的图片,鲁大师怎么生成电脑配置图
  18. 盘点独立游戏开发者的12个开发和运营技巧
  19. 《生物化学与分子生物学》----蛋白质----听课笔记(五)
  20. Spring Boot+MyBatis Plus+JWT 问卷系统!开源!

热门文章

  1. Python接口测试- requests 发送 post 请求的几种方法
  2. 钉钉发送消息详细教程-- java
  3. 雅诗兰黛公司和雅诗兰黛品牌宣布与阿曼达·戈尔曼合作
  4. DNF外i挂云霄见血
  5. 每日一文APP实现(网页json解析)
  6. python读文件readlines_Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n...
  7. JAVA设计模式——装饰设计模式
  8. DL_Notebook 8_梯度下降
  9. 我的前端开发学习之路,从懵懂到自信
  10. 码农上海工作2年感悟