What are Monoliths?
To start explaining the microservices it’s useful to compare it to the monolithic application. An application is said to be a monolith when it is deployed as a single unit. Monoliths have a single shared database. They communicate with synchronous method calls where you send a message and expect a response immediately.
What are the cons of Monoliths?
- Monoliths are limited by the maximum size of a single physical machine. As the monolith grows, it acquires more and more system resources.
- They scale as far as the database allows because they often rely on a relational database which probably runs only a single instance in order to maintain consistency.
- Monolith components have to be scaled as a group, even if certain components of the application may require less resources.
- The deep coupling in monoliths leads to inflexibility, due to which development is typically slow.
- Serious failures in one component often bring down the whole monolith due to cascading failures.
#microservices #reactive architecture #tech blogs #reactive programming #reactive systems