From 78ccbeca9e0dd0ae859f7cc520f35df26b3582fc Mon Sep 17 00:00:00 2001 From: cheatsnake <72691412+cheatsnake@users.noreply.github.com> Date: Sat, 31 Dec 2022 21:38:20 +0300 Subject: [PATCH] =?UTF-8?q?Happy=20New=20Year=20=F0=9F=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_ENG.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/README_ENG.md b/README_ENG.md index 7925fb6..1df6d3e 100644 --- a/README_ENG.md +++ b/README_ENG.md @@ -2213,9 +2213,43 @@ Testing is the process of assessing that all parts of the program behave as expe - ### Monolithic and microservice architecture +

Monolith and microservices

+ + A monolith is a complete application that contains a single code base (written in a single technology stack and stored in a single repository) and has a single entry point to run the entire application. This is the most common approach for building applications alone or with a small team. + + - Advantages: + > - Ease of development (everything in one style and in one place).
+ > - Ease of deployment.
+ > - Easy to scale at the start. + - Disadvantages: + > - Increasing complexity (as the project grows, the entry threshold for new developers increases).
+ > - Time to assemble and start up is growing.
+ > - Making it harder to add new functionality that affects old functionality.
+ > - It is difficult (or impossible) to apply new technologies. + + A microservice is also a complete application with a single code base. But, unlike a monolith, such an application is responsible for only one functional unit. That is, it is a small service that solves only one task, but well. + + - Advantages: + > - Each individual microservice can have its own technology stack and be developed independently.
+ > - Easy to add new functionality (just create a new microservice).
+ > - A lower entry threshold for new developers.
+ > - Low time required for buildings and startups. + - Disadvantages: + > - The complexity of implementing interaction between all microservices.
+ > - More difficult to operate than several copies of the monolith.
+ > - Complexity of performing transactions.
+ > - Changes affecting multiple microservices must be coordinated. +
🔗 References -
+ +1. 📺 [**What are Microservices?** – YouTube](https://youtu.be/CdBtNQZH8a4) +2. 📺 [**Microservices Explained and their Pros & Cons** – YouTube](https://youtu.be/T-m7ZFxeg1A) +3. 📺 [**Microservice Architecture and System Design with Python & Kubernetes – Full Course** – YouTube](https://youtu.be/hmkF77F9TLw) +4. 📺 [**NodeJS Microservices Full Course - Event-Driven Architecture with RabbitMQ** – YouTube](https://youtu.be/Zc2mQSQXoS4) +5. 📺 [**Building Microservices in Go (playlist)** – YouTube](https://youtube.com/playlist?list=PL7yAAGMOat_Fn8sAXIk0WyBfK_sT1pohu) +6. 📄 [**Awesome Microservices: collection of principles and technologies** – GitHub](https://github.com/mfornos/awesome-microservices) +
Contents ⬆️