Диаграмма развёртывания
Диаграмма развертывания (Deployment Diagram)
Что это такое?
Это схема, которая показывает, как софт запускается в реальном мире: какие сервера, устройства и связи между ними. Если обычные UML-диаграммы говорят "что делать", то эта говорит "где это крутится".
Основные элементы:
Узел (Node) – физическая или виртуальная машина, где что-то работает.
Экземпляр узла (Node instance) – конкретный запущенный узел (например, один из множества серверов в кластере).
Компонент (Component) – часть системы, например, сервер базы данных или веб-приложение.
Экземпляр компонента (Component instance) – конкретный запущенный компонент.
Интерфейс (Interface) – точка взаимодействия компонента с внешним миром.
Объект (Object) – данные или сервисы, работающие в узле.
Активный объект (Active object) – объект, который управляет процессами или потоками выполнения.
Зависимость (Dependency) – обозначает зависимость одного элемента от другого.
Связь (Connection) – соединение между элементами (например, HTTP или TCP/IP).
Точка изгиба связей (Point) – позволяет корректировать изгибы линий для удобства чтения диаграммы.
Комментарий (Note) – дополнительное описание на диаграмме.
Коннектор комментария (Note connector) – линия, соединяющая комментарий с элементом.
Как записывать?
1. Узел (Node)
2. Экземпляр узла (Node instance)
3. Компонент (Component)
4. Интерфейс (Interface)
5. Объект (Object)
6. Активный объект (Active object)
7. Зависимость (Dependency)
8. Связь (Connection)
9. Комментарий (Note)
Простой пример:
Допустим, у нас есть веб-приложение, которое хранит данные в базе. Это выглядит так:
Зачем это нужно?
Помогает разработчикам и девопсам понимать, где и как крутится код.
Позволяет находить слабые места в архитектуре (например, один сервер перегружен).
Улучшает коммуникацию в команде – не надо гадать, где живёт сервис.
Как чертить?
Определи основные узлы (серверы, облака, базы).
Расставь компоненты внутри узлов.
Нарисуй связи между ними (чем общаются, по каким протоколам).
Проверяй на понятность – если друг не врубился за минуту, надо упростить.
Last updated