簡體   English   中英

使用 SQS 回退 DynamoDB

[英]Fallback for DynamoDB with SQS

我們有一個同步的 REST 端點,除了將項目保存到 DynamoDB 數據庫之外,它還會進行其他處理,以供以后使用。

如果由於任何類型的異常導致數據庫保存失敗,則要求不出錯。

我們如何處理整個區域中 dynamo db 出現故障的情況(罕見但可能)。發布到 SQS 並通過 ping 它(ListTables 或 ping)有一個單獨的進程消耗並保存到 DynamoDB 是否是正確的模式。

我們應該退回到另一個區域還是發布到 SQS? 是否值得使用resilience4j斷路器模式?

讓 API 簡單地將請求排隊到 SQS 是一種常見模式。 這有很多好處,例如允許更高的吞吐量、將生產者和消費者解耦以及更好的容錯性。

這將是一個很好的設計,但是您的 REST API 將不再是同步的,並且調用者將不太知道操作是否已成功處理,因此您可能需要添加另一個端點來獲取請求的狀態。

我對 resilence4j 斷路器不是非常熟悉,但這可能不是必需的,因為如果這是您尋求的主要好處,亞馬遜 SDK 已經內置了重試。

暫無
暫無

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

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