在多个会话之间划分更改请求查询结果

时间:2016-08-01 20:33:58

标签: web-services jobs rethinkdb

所以我有一个服务,每次用户进行REST API调用时都必须进行一些长时间的计算。现在,http处理程序将一些数据推送到RethinkDB中的表,后台作业使用changefeed来获取数据并进行计算。

数据:{ id: RethinkDB's UUID, payload: ... }

现在我想:

  • 在多台计算机上并行运行后台进程
  • 使用花哨的ReQL将不同的任务分派给不同的计算机
  • 避免重复计算

我的一个想法是:

  1. 为每个进程分别提供 process_id (1,2,3 ..)
  2. 将数据的 ID 映射到数字( num_id
  3. 在每个进程中使用Changefeed并等待num_id%max_process_id为process_id的数据
  4. 有没有人有更好的主意?

    是否有任何规范方法可以自动将更改源查询分配到多台计算机上?

1 个答案:

答案 0 :(得分:1)

我认为你所描述的想法听起来像是一种很好的方式。改变饲料没有任何内置的方式来发送给像这样的多个工人。