Обновление архитектуры

This commit is contained in:
Struchkov Mark 2024-12-02 17:48:10 +03:00
parent d0a4acf39c
commit def7431e5a
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,32 @@
---
aliases:
- узкое место
tags:
- maturity/🌱
date: 2024-12-01
---
Узкое место (bottleneck) — компонент системы, ограничивающий её производительность или пропускную способность. Даже один неэффективный элемент может стать причиной снижения эффективности всей [[../../../../_inbox/Информационная система|информационной системы]].
Боттлнеки могут скрываться в любом элементе системы. Вот некоторые возможные области:
- [[highload/Балансировка нагрузки|Балансировщик нагрузки]]. Проблемы с распределением трафика.
- [[Бэкенд|Приложение]]. Ограничения на уровне кода или инфраструктуры.
- [[../../meta/zero/00 Реляционная база данных|База данных]]. Медленная обработка запросов, нехватка соединений.
- Распределенный [[Кэширование|кэш]]. Недостаток ресурсов или медленный доступ.
- [[Брокер сообщений]]. Ограничения на пропускную способность.
- Пропускная способность диска. Узкие места в файловых системах.
**Пример в** [[../../../../wiki/zero/00 Микросервисная архитектура|микросервисной архитектуре]].
Рассмотрим систему с несколькими микросервисами и сервисом аутентификации. Если общий объем запросов составляет 1000 rps, а сервис аутентификации может обработать только 100 rps, то он становится узким местом, замедляя работу всей системы.
***
## Мета информация
**Область**:: [[../../meta/zero/00 HighLoad|00 HighLoad]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-12-01]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->

View File

@ -7,6 +7,8 @@ date: 2024-11-24
---
Подход "Shared Database" предполагает, что все микросервисы используют одну общую базу данных для хранения данных. Сервисы взаимодействуют напрямую с таблицами, которые принадлежат другим сервисам, что создает зависимости на уровне данных и разрушает [[Инкапсуляция|инкапсуляцию]] между микросервисами.
Наличие одной базы данных для всех сервисов увеличивает [[Связность|связность]] системы и создаёт [[Bottlneck|узкое место]].
В [[../../../../wiki/zero/00 Микросервисная архитектура|микросервисной архитектуре]] подход, при котором все сервисы общаются с одной общей базой данных, считается скорее анти-паттерном. Несмотря на то, что в некоторых случаях это может показаться более простым решением, такой подход ведет к серьёзным ограничениям и проблемам, особенно в масштабируемых системах. Использование общей базы данных приводит к проблемам с разделением ответственности и нарушает принципы слабой [[Связанность|связанности]] и высокой [[Связность|связности]], которые являются основными в микросервисной архитектуре.
**Проблемы подхода Shared Database**

View File

@ -4,6 +4,7 @@ aliases:
- backend
- бэкенда
- бэкенду
- Приложение
tags:
- maturity/🌱
date:

View File

@ -2,6 +2,7 @@
aliases:
- кэш
- кэша
- кеш
tags:
- maturity/🌱
date: