我試圖創建一個應用程序,用戶從其地理位置發送JSON到服務器,並且服務器從該位置發送的第一個請求開始5秒內收集來自該位置的所有請求。我想將所有請求存儲在hashmap中,其中key是LocationKey,值是來自該位置的所有請求的列表。我很難在aws lambda中對它進行建模,因爲它只是api調用,所以編碼基於時間的應用程序很難概念化。另外我不確定我會在哪裏存儲hashmap。我是新手後端開發,任何幫助將不勝感激。基於時間的應用程序可能使用aws lambda?
該應用程序服務器的關係如下:
用戶的手機:
- 創建一個JSON {LocationKey,用戶名,活動促銷..}。
- 將該JSON發送到服務器。
服務器:
如果LocationKey不HashMap的存在 - >(1)創建一個新的HashMap值
<重點:LocationKey,值:< < Request1>>>
(2)啓動計時器如果LocationKey存在於散列表中並且計時器尚未過期 然後將請求添加到散列表基於LocationKey
<鍵:LocationKey,值:< < Request1>,<請求2>>>如果計時器已結束
(1)返回的散列映射值到每個請求中的散列映射
(2)刪除的散列映射條目
任何幫助將不勝感激!!
同意。每個Lambda調用都可以將數據存儲在DynamoDB中,等待5秒鐘,從DynamoDB讀取並返回響應。不要將概念化爲「服務器」,而應將其視爲每個用戶調用使用DynamoDB在任務之間進行通信的獨立「任務」。而不是從DynamoDB中刪除數據,只需忽略那些比所需時間早的東西,從而消除「清理」階段。認爲規模! –