我有一个接受来自客户网站的HTTP请求的服务。该服务然后将HTTP请求发送到事务性电子邮件提供商,并使用向服务的初始请求中提供的信息。工作流程是这样的:处理多级网络请求的正确方法是什么?
CustomerSite ⟷ EmailService ⟷ TransactionEmailProvider
我能想到的两种可能处理请求,以便从TransactionalEmailProvider错误可以被报告给CustomerSite。
- 的
EmailService
,当它接收到来自CustomerSite
的请求立即发送异步请求TransactionalEmailProvider
。EmailService
立即响应CustomerSite
与成功代码,如果请求正确 形成。如果向TransactionalEmailProvider
发送请求时发生故障,则EmailService
会将使用POST请求的故障 通知使用012hwebhook实现发送回EmailService
。 - EmailService向TransactionalEmailProvider发送请求,并在成功或失败地响应CustomerSite请求之前等待响应。
现在,我实现了第一个版本,因为我不想让EmailService
的响应是依赖于TransactionalEmailProvider
的响应。
这是一个合理的方式来处理依赖于第二层HTTP请求的HTTP请求吗?有没有哪种情况会比另一种更受欢迎?
两者都是“正确的” - 他们只是有不同的权衡。 –