客户端与服务器通信的默认模型是请求-响应模式。客户端发送请求,服务器返回响应,然后连接关闭。这种模式能够满足大多数软件的大部分需求,并且涵盖了现代Web应用程序中极其广泛的实际应用场景。
它并不能处理所有事情。有些工作需要太长时间才能在单个请求中完成。有些事件的发生取决于服务器的计划,而不是客户端的计划。有些交互是持续性的,而不是一次性的。还有一些消息需要持续存在,而不仅仅是发送的那一刻。
异步 API 模式是工程师们针对这些场景使用的技术,而且这些模式的种类近年来不断增加。现在,它包括短轮询、长轮询、服务器发送事件、WebSocket、Webhook、带状态轮询的异步 API、消息队列和 GraphQL 订阅。每种模式都有其自身的设计和适用场景。它们的共同之处在于一个目的:扩展单个 HTTP 请求和响应之外的功能。
本文将详细介绍每种模式及其优势。我们将首先探讨请求-响应模式的局限性,然后逐一介绍每种模式。
请求-响应及其局限性
原文: https://blog.bytebytego.com/p/a-guide-to-async-patterns-in-api
