Microservices design patterns
In this section, we will discuss some important design patterns and architectural approaches that can help us build robust and effective cloud-ready microservices. Let's get started.
Sacrificial architecture
Sacrificial architecture is an important design approach that doesn't typically get the attention it deserves. It was mentioned by Martin Folwer in 2014 and can be found at https://martinfowler.com/bliki/SacrificialArchitecture.html.
The core idea of sacrificial architecture is that we should write our software in a way where it is easily replaceable in the future. To understand the previous statement better, let's consider an example scenario. Let's say that a couple of years ago, we had built a computer networking application that utilizes custom data serialization formats designed by our developers. Today, we need to rewrite the application in a more modern programming language that can handle a lot more data load and user requests. This task will not be...