在 api 中处理外部 API 调用
Handle external API calls inside an api
我有一个简单的 HTTP 服务器,您可以在其中创建和管理待办事项。您还可以添加插件,例如,在待办事项完成后向给该待办事项加注星标的人发送电子邮件。我目前通过查询数据库来检查所有启用的插件,然后查询每个 API 端点以查找不同的插件(Gmail、Notion、Trello 等)。完成后,我将回复发回给用户。这是一个问题,因为这意味着我依赖外部 API 请求我的响应的速度。如果概念 api 很慢,那么我的端点也很慢。
有没有办法先发送响应,例如,服务器将待办事项标记为已完成,然后在查询完所有插件(Gmail、Notion、Trello 等)后发送不同的响应?我必须使用网络套接字吗?或者我目前处理外部 API 查询的方式是唯一的方式吗?
您的想法是正确的,您希望将来自客户的请求与后端处理(联系其他提供商)分离开来;和网络套接字是做到这一点的选择之一。 HTTP2 流是另一种选择。当然,拉动也是一种方式(简单,但效率不高)。
我有一个简单的 HTTP 服务器,您可以在其中创建和管理待办事项。您还可以添加插件,例如,在待办事项完成后向给该待办事项加注星标的人发送电子邮件。我目前通过查询数据库来检查所有启用的插件,然后查询每个 API 端点以查找不同的插件(Gmail、Notion、Trello 等)。完成后,我将回复发回给用户。这是一个问题,因为这意味着我依赖外部 API 请求我的响应的速度。如果概念 api 很慢,那么我的端点也很慢。
有没有办法先发送响应,例如,服务器将待办事项标记为已完成,然后在查询完所有插件(Gmail、Notion、Trello 等)后发送不同的响应?我必须使用网络套接字吗?或者我目前处理外部 API 查询的方式是唯一的方式吗?
您的想法是正确的,您希望将来自客户的请求与后端处理(联系其他提供商)分离开来;和网络套接字是做到这一点的选择之一。 HTTP2 流是另一种选择。当然,拉动也是一种方式(简单,但效率不高)。