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:
![](https://static.packt-cdn.com/products/9781788622592/graphics/assets/700599f5-e9db-41e3-901d-4aa1a0fb2763.png)
The following sections describe the search and booking services in detail.