我需要使用node.js分發數據處理策略。如果使用工作池並將這些工作人員中的任務組隔離是最好的方法,或者使用基於管道/節點的系統(如http://strawjs.com/),我試圖計算出 是最好的方法。Node.js數據處理分佈
我已經有以下幾種(單個作業)的步驟:
- 提取含GIS形狀文件
- 將文件轉換爲GeoJSON的使用ogr2ogr
- 進行非標準化的數據一個zip文件以GeoJSON文件
- 將數據轉換到我在MongoDB中
- 的Upsert數據使用到MongoDB中收集的格式
主要問題是,當使用基於管道/節點的系統(如吸管)時,我不知道如何合併來自不同GeoJSON文件的數據。
我瞭解如何在工作人員池中完成工作。但我不知道如何在幾臺機器上分配工人。
我試過在一臺機器上使用 異步模塊在單線程中做到這一點的天真方式。這適用於小數據集。但在生產中,我需要 能夠在相當頻繁的時間間隔內支持數百萬個文檔。
使用node.js的原因是我們已經有了一個堅實的基礎架構,可以爲 擴展node.js流程,我們幾乎在我們生產環境的每個方面都使用node.js。
我建議你到谷歌的「nginx + node.js集羣」,閱讀一些文章,畫出一些UML部署,序列圖(解決方案),並用它來減少你的問題。問題太廣泛,沒有提供代碼是downvote和密切的原因。如何合併JSON對象或JSON數組已在Stack Overflow中得到了解答,例如,這裏http://stackoverflow.com/questions/10384845/merge-two-json-objects-in-to-one-object – xmojmr