通过restapi请求将数据从一个服务器发布到另一个服务器的正确方法?

2024-05-13 19:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的数据库中创建一个条目。必须由我的一个微服务来完成。但是请求是通过另一个微服务从前端接收的。现在微服务使用restapi调用进行通信。我在java中读过,如果你想从一个微服务向另一个微服务发出请求,你必须在一个单独的线程中发出请求并强制超时。在python中,同样的事情,你必须强制超时。在

但是如果我的请求成功了,但是我的请求在线程中超时了呢?假设这是对数据库的关键插入。如果所有重试(假设3次重试)由于网络延迟而超时,但都是成功的插入操作,那又会怎样呢。然后假设在示例中,如图所示,用户在交货时下了现金订单,订单服务用新订单更新数据库,然后订单服务向支付服务发出一个httppost请求,向数据库中添加付款历史记录条目。现在,正如我所描述的,每次重试付款表中都会有3个重复条目。在

我们如何处理这个问题,在每次插入之前检查重复条目的操作不是很昂贵吗?在

我主要在前端工作,但现在我想切换到后端。这个问题一直在我脑子里,请帮帮我!在

Please have a look at this diagram for more clear understanding of the flow


Tags: 用户订单网络restapi数据库示例条目java
1条回答
网友
1楼 · 发布于 2024-05-13 19:29:31

您可以发送异步调用,但在这种情况下,您将不知道成功或失败的响应。在

对于重复条目,可以在接收端添加验证检查,以便在数据库中已存在记录时跳过插入

相关问题 更多 >