2016-08-01 35 views
0

因此,我有一個服務,每次用戶進行REST API調用時都必須進行一些長時間的計算。現在,一個http處理程序將一些數據推送到RethinkDB中的一個表中,後臺作業使用changefeed來獲取數據並進行計算。在許多會話之間劃分變更查詢結​​果

數據:{ id: RethinkDB's UUID, payload: ... }

現在我想:

  • 使並行的後臺進程運行在幾臺機器
  • 使用花式ReQL分派不同的任務不同的機器
  • 避免重複計算

一個想法我是:

  1. 給每個過程一個單獨的PROCESS_ID(1,2,3 ......)
  2. 地圖數據的ID了一些(num_id
  3. 在每個進程中使用換頁並等待數據,其中num_id%max_process_id是process_id

有沒有人有更好的主意?

是否有任何規範的方式來自動發送變更飼料查詢到幾臺機器?

回答

1

我認爲你所描述的想法聽起來像是一個很好的方法。換貨並沒有任何內建的方式派遣給像這樣的多個員工。