簡體   English   中英

通過REST API請求從一台服務器向另一台服務器發布數據庫中POST數據的正確方法?

[英]Correct way to POST data in database through REST API request from one server to another?

我想在數據庫中創建一個條目。 這必須由我的一個微服務來完成。 但是,該請求是從其他微服務中的前端收到的。 現在,微服務使用REST API調用進行通信。 我已經在Java中閱讀到了,如果您想從微服務向另一個微服務發出請求,則必須在單獨的線程中發出請求並施加超時。 在python中,您必須設置超時。

但是,如果我的請求成功但我發出的請求在線程中超時怎么辦? 假設這是數據庫中的關鍵插入。 如果所有重試(假設3次重試)由於網絡延遲而超時,但全部都成功完成了插入操作,該怎么辦。 然后,在示例中,如圖所示,用戶將現金交付訂單,訂單服務使用新訂單更新數據庫,然后訂單服務向付款服務發出HTTP發布請求,以將條目添加到數據庫中以獲取付款歷史記錄。 現在,正如我所描述的,每次重試付款表中都會有3個重復的條目。

我們如何處理這個問題,不是在每次插入之前檢查重復條目的昂貴操作?

我主要在前端工作,但現在我想切換到后端。 這個問題一直困擾着我,請幫忙!

請查看此圖以更清楚地了解流程

您可以發送異步調用,但是在這種情況下,您將不會注意到成功或失敗響應。

對於重復的條目,可以在接收端添加驗證檢查,以在數據庫中已存在記錄的情況下跳過插入操作

暫無
暫無

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

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