簡體   English   中英

如何使用 aws 設計多客戶端預處理軟件管道?

[英]How to design multiclient preprocess software pipeline using aws?

我的軟件目標是自動化預處理管道,管道有三個代碼塊:

  1. 獲取數據 - 通過 api 或通過客戶端將 csv 上傳到 s3 存儲桶。

  2. 處理數據——我的目標是將來自不同客戶端的數據統一到一個統一的端方案。

  3. 存儲方案是數據庫。 我知道這是一個非常常見的系統,但我找不到最適合它的設計。

要求是:

  1. 該系統不是實時的,對於每個客戶,我計划每 X 天獲取新數據,即使僅在一天后完成也沒關系
  2. 每個客戶端數據的處理部分都是唯一的,當然有一些共同的特征,但也有很多不同的特征和muniplation。
  3. 我希望系統是自動化的。

我想到了以下幾點:

  1. The lambda solution: schedule a lambda for each client which will fetch the data every X days, the lambda will trigger another lambda which will do processing. 但是如果我有 100 個客戶端,那么處理 200 個 lambda 表達式會很糟糕。

  2. 2.1 制作一個名為 Api 的項目,並為每個客戶提供不同的腳本,我對 ec2 或 ecs 上的每個腳本都有一個 schudle。

2.2 有另一個項目調用處理,父class有公共代碼,所有子類客戶端代碼都繼承自它,API腳本將激活相關處理腳本。

最后,我很困惑什么是最佳實踐,我只找到了處理一個客戶端的示例,或者一個廣泛的通用方案方法/圖表塊。 因為我知道它是一個如此普遍的系統,所以我會很感激從其他人的經驗中學習。 將不勝感激任何參考鏈接或智慧

看一下Step Functions ,它將允許您解耦每個階段的執行並允許您重用您的 Lambda。

通過將輸入傳遞到步驟 function 頂部 Lambda 可能能夠做出提供給其他人的決策。

要安排此操作,請使用已安排的CloudWatch 事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM