From c421872dec1eb7cf8e5c7c0ad1b4bb3be18877dc Mon Sep 17 00:00:00 2001
From: Danil <64461997+screamo-boop@users.noreply.github.com>
Date: Wed, 27 Mar 2024 21:26:48 +0500
Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?=
=?UTF-8?q?=D0=BD=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE?=
=?UTF-8?q?=20=D0=BC=D0=B8=D0=BA=D1=80=D0=BE=D1=81=D0=B5=D1=80=D0=B2=D0=B8?=
=?UTF-8?q?=D1=81=D1=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/microservices/README.md | 65 +++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)
diff --git a/docs/microservices/README.md b/docs/microservices/README.md
index b41cd99..7741faa 100644
--- a/docs/microservices/README.md
+++ b/docs/microservices/README.md
@@ -1,2 +1,65 @@
-### Вопросы про микросервисы
+# Вопросы про микросервисы
+## Что такое микросервисная архитектура? (кратко)
+
+Микросервисная архитектура — это способ разработки программного обеспечения, при котором большое приложение разбивается на небольшие, независимо работающие модули или сервисы. Каждый микросервис отвечает за выполнение конкретной задачи или функции и может быть разработан, развернут и обновлен независимо от остальных. Эти сервисы общаются друг с другом с помощью легковесных протоколов, чаще всего через REST API.
+
+
+
+
+## Чем отличается микросервис от монолита?
+
+
+Приложение-микросервис состоит из множества маленьких, независимо работающих частей (микросервисов), каждая из которых выполняет свою уникальную функцию и общается с другими через сетевые запросы.
+
+Приложение-монолит представляет собой единый неделимый блок, где все функции встроены в одно целое и работают в рамках одного процесса.
+
+Основные отличия:
+* Масштабируемость: Микросервисы можно масштабировать независимо друг от друга, в то время как монолит требует масштабирования целиком.
+* Гибкость разработки: В микросервисной архитектуре команды могут разрабатывать, обновлять и развертывать каждый сервис независимо, что обеспечивает большую гибкость. В монолитной архитектуре изменения в одной части приложения могут повлиять на всё приложение.
+* Технологическая гибкость: Микросервисы могут быть написаны на разных языках программирования и использовать разные технологические стеки, в то время как монолит, как правило, ограничен единым стеком технологий.
+* Отказоустойчивость: Ошибка в одном микросервисе обычно не влияет на работу остальных, тогда как в монолитном приложении ошибка может привести к сбою всего приложения.
+* Сложность управления: Микросервисные архитектуры могут быть сложнее в управлении и мониторинге из-за их распределенного характера, в то время как управление монолитным приложением проще из-за его централизованности.
+
+
+
+## Опишите плюсы и минусы двух концепций
+
+### Монолитная архитектура
+
+#### Достоинства:
+
+* Простота разработки и развертывания: Все части приложения тесно интегрированы, что делает процесс разработки и тестирования относительно простым.
+* Простота управления: У вас всего одно приложение для мониторинга и управления, а не несколько микросервисов.
+* Понятность: Новым разработчикам часто проще понять и внести свой вклад в со структурированное монолитное приложение.
+
+#### Недостатки:
+
+* Масштабируемость: Монолитные приложения сложнее масштабировать, особенно для обработки большого количества запросов.
+* Гибкость разработки: Большие изменения могут повлиять на весь проект, затрудняя быстрое внесение изменений.
+* Технологическая привязанность: Проекты замкнуты на одном технологическом стеке, что ограничивает внедрение новых технологий.
+
+
+
+### Микросервисная архитектура
+
+Достоинства:
+
+* Масштабируемость: Легко масштабировать и обновлять отдельные части системы независимо.
+* Гибкость разработки: Команды могут разрабатывать, тестировать и развертывать микросервисы независимо друг от друга.
+* Использование разных технологий: Возможность использовать для каждого микросервиса наиболее подходящий язык программирования и технологический стек.
+
+Недостатки:
+
+* Сложность управления: Управление множеством микросервисов и их взаимосвязями может быть сложным.
+* Проблемы с безопасностью и мониторингом: Безопасность и мониторинг в распределенной системе требуют более сложного подхода.
+* Сложности с координированием данных: Обеспечивать целостность и согласованность данных между различными микросервисами может быть нетривиальной задачей.
+
+
+## Полезные ссылки
+
+[Просто о микросервисах](https://habr.com/ru/companies/raiffeisenbank/articles/346380/)
+
+[Монолитная и микросервисная архитектура. Сравнение](https://habr.com/ru/companies/haulmont/articles/758780/)
+
+[Введение в Cloud native. (цикл статей)](https://habr.com/ru/articles/758250/)