Обновление архитектуры
This commit is contained in:
parent
d0a4acf39c
commit
def7431e5a
32
dev/architecture/Bottlneck.md
Normal file
32
dev/architecture/Bottlneck.md
Normal 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) -->
|
||||
|
@ -7,6 +7,8 @@ date: 2024-11-24
|
||||
---
|
||||
Подход "Shared Database" предполагает, что все микросервисы используют одну общую базу данных для хранения данных. Сервисы взаимодействуют напрямую с таблицами, которые принадлежат другим сервисам, что создает зависимости на уровне данных и разрушает [[Инкапсуляция|инкапсуляцию]] между микросервисами.
|
||||
|
||||
Наличие одной базы данных для всех сервисов увеличивает [[Связность|связность]] системы и создаёт [[Bottlneck|узкое место]].
|
||||
|
||||
В [[../../../../wiki/zero/00 Микросервисная архитектура|микросервисной архитектуре]] подход, при котором все сервисы общаются с одной общей базой данных, считается скорее анти-паттерном. Несмотря на то, что в некоторых случаях это может показаться более простым решением, такой подход ведет к серьёзным ограничениям и проблемам, особенно в масштабируемых системах. Использование общей базы данных приводит к проблемам с разделением ответственности и нарушает принципы слабой [[Связанность|связанности]] и высокой [[Связность|связности]], которые являются основными в микросервисной архитектуре.
|
||||
|
||||
**Проблемы подхода Shared Database**
|
||||
|
@ -4,6 +4,7 @@ aliases:
|
||||
- backend
|
||||
- бэкенда
|
||||
- бэкенду
|
||||
- Приложение
|
||||
tags:
|
||||
- maturity/🌱
|
||||
date:
|
||||
|
@ -2,6 +2,7 @@
|
||||
aliases:
|
||||
- кэш
|
||||
- кэша
|
||||
- кеш
|
||||
tags:
|
||||
- maturity/🌱
|
||||
date:
|
||||
|
Loading…
Reference in New Issue
Block a user