diff --git a/dev/architecture/Bottlneck.md b/dev/architecture/Bottlneck.md new file mode 100644 index 00000000..2d909c4a --- /dev/null +++ b/dev/architecture/Bottlneck.md @@ -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]] +**Автор**:: +### Дополнительные материалы +- + +### Дочерние заметки + + diff --git a/dev/architecture/Shared Database.md b/dev/architecture/Shared Database.md index 6da16cca..05f087ed 100644 --- a/dev/architecture/Shared Database.md +++ b/dev/architecture/Shared Database.md @@ -7,6 +7,8 @@ date: 2024-11-24 --- Подход "Shared Database" предполагает, что все микросервисы используют одну общую базу данных для хранения данных. Сервисы взаимодействуют напрямую с таблицами, которые принадлежат другим сервисам, что создает зависимости на уровне данных и разрушает [[Инкапсуляция|инкапсуляцию]] между микросервисами. +Наличие одной базы данных для всех сервисов увеличивает [[Связность|связность]] системы и создаёт [[Bottlneck|узкое место]]. + В [[../../../../wiki/zero/00 Микросервисная архитектура|микросервисной архитектуре]] подход, при котором все сервисы общаются с одной общей базой данных, считается скорее анти-паттерном. Несмотря на то, что в некоторых случаях это может показаться более простым решением, такой подход ведет к серьёзным ограничениям и проблемам, особенно в масштабируемых системах. Использование общей базы данных приводит к проблемам с разделением ответственности и нарушает принципы слабой [[Связанность|связанности]] и высокой [[Связность|связности]], которые являются основными в микросервисной архитектуре. **Проблемы подхода Shared Database** diff --git a/dev/architecture/Бэкенд.md b/dev/architecture/Бэкенд.md index 7b443bd4..bc1dbdb8 100644 --- a/dev/architecture/Бэкенд.md +++ b/dev/architecture/Бэкенд.md @@ -4,6 +4,7 @@ aliases: - backend - бэкенда - бэкенду + - Приложение tags: - maturity/🌱 date: diff --git a/dev/architecture/Кэширование.md b/dev/architecture/Кэширование.md index 47634188..16bc2687 100644 --- a/dev/architecture/Кэширование.md +++ b/dev/architecture/Кэширование.md @@ -2,6 +2,7 @@ aliases: - кэш - кэша + - кеш tags: - maturity/🌱 date: