So far, you've seen examples of using Reactive Programming in Clojure. We've created simple applications with Om, and we've used Amazon's API in the backend server. It's now time to investigate what we can do to create more elaborate applications.
A well-designed application can make our business successful, while a poorly designed one will certainly create many problems, from unhappy customers to the loss of prospective clients. When designing an application's architecture, we have two broad choices—we can either create one monolithic application, or we can use a microservices architecture.
In this chapter, we'll cover the following:
- Comparing and contrasting monolithic and microservices architectures
- The best practices for designing microservices
- Event-driven communication between microservices using messages...