It is a microservices-based approach, with both messaging and API calls. As discussed in Chapter 8, Modeling Data, messaging systems allow scalability and resiliency. Service-to-service API calls are useful when a quick/in-line response is needed.
The high-level solution architecture is described in the following diagram:
![](/api/v2/epubs/9781788622592/files/assets/700599f5-e9db-41e3-901d-4aa1a0fb2763.png)
The following sections describe the search and booking services in detail.