如何充分协调使用算法服务器中的运算能力
发布于 5 年前 作者 fightAndLearn 3698 次浏览 来自 问答
  • 现在的业务跟算法联系比较紧密,执行算法时占用了算法服务器中绝大部分资源,由于服务器有限,现在是一台算法服务器中会部署多种算法服务,但是由于算力问题,并发低于3
  • 我们团队使用node,相当于中台概念。算法服务用的是c++。
  • 我们使用rabbitMQ来做解耦消峰排队

现在的问题是,怎么能让算法服务器在有能力执行算法时主动拉取执行MQ中的任务?

7 回复

像这种 生产者低于消费者的情况,我是用中间件 bull 封装的redis 管理任务队列,还有可视化界面控制任务 和 定时处理 比较适合你这种情况!个人建议~

@chenjiyong 我的思路是有一个负载均衡算法服务,负责推举可用服务,轮询检测服务是否可用,但push 和pull实现的方式不一样,我想的是算法服务可以主动来拉任务执行

  • 目前的思路 WeChata57eb797184dfdca493eb2a73711df70.png

任务队列 在 bull 里面,哪个算法空闲就自己取;

@chenjiyong 思路如下:

  • 由一个资源监控程序监控算法服务器占用的资源情况,如gpu或cpu,当可用资源达到一定层级(这里需要测试各个算法最低占用资源,提供config)可以跑算法时,向服务配置中心更新活跃状态
  • 服务配置中心发现推举可用算法服务器来消费队列里的任务
现在在研究k8s,看能否实现

哥,能介绍推荐node.js的人吗?

回到顶部