Skip to content

Commit c6b6e63

Browse files
Squoreshakirkonru
andauthored
[ru] Translate microservices-architecture.md (#3254)
Signed-off-by: Irina Titova <[email protected]> Co-authored-by: Kirill Kononovich <[email protected]>
1 parent 396247b commit c6b6e63

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Микросервисная архитектура
3+
status: Completed
4+
tags: ["architecture", "fundamental", ""]
5+
---
6+
7+
Микросервисы — это архитектурный подход к разработке, который разбивает приложение на отдельные и независимые (микро)[сервисы](/service/), каждый из которых отвечает за определенную функциональность.
8+
Эти сервисы тесно взаимодействуют друг с другом и для конечного пользователя выглядят как единое целое.
9+
Возьмем, к примеру, Netflix.
10+
Интерфейс приложения позволяет пользователю входить в учетную запись, искать видео и просматривать их.
11+
За все эти действия, скорее всего, отвечают меньшие по размеру сервисы, каждый из которых фокусируется на одной задаче.
12+
Например, на аутентификации пользователя, поиске видео или его воспроизведении в браузере.
13+
14+
Данный архитектурный подход позволяет разработчикам внедрять новую функциональность, а также вносить изменения в существующую намного быстрее, чем если бы сервисы были тесно связаны, как в [монолитных приложениях](/ru/monolithic-apps/) (подробнее об этом ниже).
15+
16+
## Какую проблему решает
17+
18+
Приложения состоят из разных компонентов, каждый из которых отвечает за определенную функциональность.
19+
Потребность в определенной функциональности не обязательно растет или падает вместе с нагрузкой на другие части приложения.
20+
Вернемся к нашему примеру про Netflix.
21+
Допустим, после успешной маркетинговой кампании на Netflix наблюдается бум регистраций, при этом воспроизведение видео в ранние часы осталось примерно на прежнем уровне.
22+
Всплеск числа регистраций перегружает соответствующий компонент приложения.
23+
В традиционной (монолитной) архитектуре пришлось бы [масштабировать](/scalability/) все приложение, чтобы оно выдержало возросшую нагрузку, а это неэффективно с точки зрения использования ресурсов.
24+
25+
Монолитная архитектура также повышает риск стать жертвой ловушек проектирования.
26+
Поскольку весь код находится в одном месте, возрастает соблазн сделать его [тесно связанным](/ru/tightly-coupled-architecture/), пренебрегая принципом разделения ответственности.
27+
Кроме того, чтобы вносить какие-либо изменения в монолитное приложения, разработчикам часто приходиться изучать его кодовую базу целиком.
28+
Микросервисная архитектура решает эти проблемы.
29+
30+
## Как именно решает проблему
31+
32+
Разделение функциональности на микросервисы упрощает их развертывание, обновление и масштабирование.
33+
Оно также позволяет различным командам одновременно работать над небольшими частями приложения, минимизируя риск непреднамеренного негативного влияния на все приложение.
34+
Микросервисная архитектура решает множество проблем, но платить за это приходится ростом операционных расходов: значительно увеличивается число компонентов, которые необходимо развертывать и поддерживать.
35+
Многие [облачные технологии](/ru/cloud-native-tech/) стараются упростить процессы развертывания микросервисов и управления ими.

0 commit comments

Comments
 (0)