询问一个Node.js 的资源分配问题,如何对不同来源的请求分配不同资源?
发布于 6 年前 作者 aircloud 2395 次浏览 来自 问答

目前有一个 node 的监控系统,遇到的一个问题是这样的:

监控系统接入了几个前端站点,这里比如 A.comB.comC.com…等等 相应的数据会上报给监控系统,然后监控系统根据请求到达时间来处理,由于处理没那么快,所以用 redis 维护了一个生产-消费队列。

但目前的一个问题是,假设A.com的请求巨多,实际上也会很大影响 B.comC.com…等等其他的。 由于一些原因,不能给每一个前端站点都分配一个单独的后端服务,所以它们是共用监控系统的。 另外,将来接入的前端站点越来越多,每一个站点对应一个线程也是做不到的…(当然我也没试过这样是否有效)

目前自己还能想到一些算法方面的优化,比如对 生产-消费队列 进行重新排序等等,暂时还没实际尝试,想再问问各位有没有什么完善有效的方式,或者已经实践过的方式处理这些问题?谢谢~

需要我补充任何内容的话,也可以留言~

3 回复

为了不让单个拖垮整体,可以考虑将不同站点的数据在队列中进行区分,类似队列topic特性,然后消费者再按条件切换topic进行处理。

// 上面的提议,没有实际经验,只是随意一想。

@Shasharoman 其实我后来差不多是这么做的,还是有一定效果

这个问题,我目前已经取得了一些实际进展,但是还远远说不上完善,如果有做类似工作的朋友有新的 idea 欢迎留言,我之后也会把我的方案整理下进行分享

回到顶部