2014-04-04 103 views
0

我正在努力在高流量應用程序中移植一些數據訪問發電機數據庫。有點背景 - 應用程序收集的數據量非常大,一些特定的表格在傳統的數據庫中導致了性能問題。因此,通過對數據佈局進行一些重新設計和一些更改,我們可以很好地使它們適合DynamoDB利基。AWS DynamoDB客戶端最佳實踐(MVC應用程序)

我的問題是關於使用/創建客戶端對象。 SDK文檔建議最好創建一個客戶端並在多個線程中共享它,因此在我的存儲庫實現中,我將客戶端定義爲一個懶惰單例。這意味着它將被創建一次,所有請求將共享同一個客戶端(目前每分鐘約有4000個請求,但隨着Beta版的推出並開始推廣該產品,可能會大量增加)。

有沒有人有任何使AWS SDK縮放的經驗?

感謝 山姆

回答

1

當您創建一個客戶端,並與多個線程共享,只有一個線程可以在一些SDK使用客戶端在一個時間點。

當然,如果你爲不同的線程創建不同的客戶端,它會減慢進程。

所以我建議你在這裏乘坐中間的辦法,

最大化的HTTP連接池的大小,讓更多的客戶數量允許被創建。

然後你按照共享的客戶端對象。

批量操作可用於淨AWS SDK

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BatchOperationsORM.html

+0

感謝這個 - 你可以確認這是絕對與.NET SDK的情況下? – ItalianJob

+0

@ItalianJob - 這也是Java和PHP的情況,我認爲...對於.net,我們可以選擇使用批處理作業。請參閱編輯,如果有幫助.. –

相關問題