In this chapter, we are going to discuss how to design an asynchronous API for clients. We will look into strategies such as queuing tasks and publish/subscribe paradigms. A synchronous request waits on the server to compute the result. On the other hand, an asynchronous (async) request receives a response immediately with the information about the eventual result. The real world is composed of many synchronous and asynchronous events.
Asynchronous events are very popular in browsers. An async API mimics the same behavior as an event loop in modern browsers. In this chapter, we'll look at the difference between the request types. We'll also write a few clients in Go that can consume an asynchronous API.
In this chapter, we will cover the following topics:
- Understanding sync/async API requests
- Fan-in/fan-out of services
- Delaying API jobs with...