我有一個接受來自客戶網站的HTTP請求的服務。該服務然後將HTTP請求發送到事務性電子郵件提供商,並使用向服務的初始請求中提供的信息。工作流程是這樣的:處理多級網絡請求的正確方法是什麼?
CustomerSite ⟷ EmailService ⟷ TransactionEmailProvider
我能想到的兩種可能處理請求,以便從TransactionalEmailProvider錯誤可以被報告給CustomerSite。
- 的
EmailService
,當它接收到來自CustomerSite
的請求立即發送異步請求TransactionalEmailProvider
。EmailService
立即響應CustomerSite
與成功代碼,如果請求正確 形成。如果向TransactionalEmailProvider
發送請求時發生故障,則EmailService
會將使用POST請求的故障 通知使用012hwebhook實現發送回EmailService
。 - EmailService向TransactionalEmailProvider發送請求,並在成功或失敗地響應CustomerSite請求之前等待響應。
現在,我實現了第一個版本,因爲我不想讓EmailService
的響應是依賴於TransactionalEmailProvider
的響應。
這是一個合理的方式來處理依賴於第二層HTTP請求的HTTP請求嗎?有沒有哪種情況會比另一種更受歡迎?
兩者都是「正確的」 - 他們只是有不同的權衡。 –