Концептуальная модель предметной области компонента GRIR#

Концептуальная модель предметной области компонент Рендерер дашбордов (GRIR) представлена на схеме:

@startuml

class "GRIR Renderer Service"
class "Grafana Image Renderer Plugin"

"GRIR Renderer Service" "0..n" *--up--> "1" "Grafana Image Renderer Plugin" : использует\n(headless Chrome)

@enduml

Пояснение к диаграмме#

На диаграмме показаны основные компоненты системы и их отношения:

  • Grafana Image Renderer Plugin — внешний плагин Grafana, отвечающий за рендеринг визуализаций в headless-режиме с использованием встроенного Chromium. Обеспечивает точное отображение дашбордов и панелей, включая сложные графики и настройки стилей.

  • GRIR Renderer Service — ядро компонента, инициирующее процесс рендеринга. Обрабатывает входящие запросы, взаимодействует с плагином для генерации изображений и передает результаты на хранение. Поддерживает масштабирование: один экземпляр сервиса может использовать один общий экземпляр плагина для обработки множества запросов (от 0 до n).

Связи между компонентами отражают архитектурную декомпозицию:

  • Отношение агрегации с кратностью "0..n" *--up--> "1" означает, что множество экземпляров GRIR Renderer Service могут использовать один общий экземпляр Grafana Image Renderer Plugin, что обеспечивает эффективное использование ресурсов и централизованное управление.