[英]System architecture for committing multiple large records from a single payload across multiple databases
我是一個休息服務,我在多部分 mime 消息中收到一個大請求。 我需要將部分分開,將第一部分(標題)存儲在一個數據庫中,並將其他部分作為單獨的記錄存儲在不同的數據庫中。
一旦所有部分都在數據庫中,標題部分就可以供客戶端查詢了。
我們還沒有決定數據庫技術,雖然我們主要是一個 .net 商店,所以 sql server 是我們的首選,但不一定是我們唯一的選擇。
因為負載很大,而且我們正在談論多個數據庫,所以我不確定事務是否是一種選擇。
經紀人選項是否合適,或者我應該以某種方式使用隊列。 我正在尋找一些建築建議。
大多數數據庫都有提交/回滾的概念。 應該可以在應用程序中處理概念事務。 前任:
或者,可以將請求放入隊列中,並將操作結果存儲在 DB 中。 前任:
應用程序接口
后端
編輯:
假設消息的大小可能在 50KB-50MB 之間,那么調整設計可能是值得的。 通常有增加隊列最大消息大小的方法,但可能不建議這樣做,因為:
解決此問題的一種選擇是在應用程序級別管理事務。 前任:
應用程序接口
后端:
如果同一事務中的先前消息的“失敗”> 0,也可能進行優化以跳過處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.