Simple scalable mode

Тема дорожной карты · Loki

Простой масштабируемый режим — промежуточная топология развёртывания Grafana Loki, которая разделяет бинарный файл на две целевые роли — read и write, — что значительно упрощает эксплуатацию по сравнению с полным режимом микросервисов, одновременно поддерживая горизонтальное масштабирование за пределами возможностей единственного монолитного экземпляра. Роль write объединяет Distributor и Ingester, а роль read — Query Frontend и Querier; таким образом, производительность записи наращивается путём добавления подов write, а производительность чтения — добавления подов read. Простой масштабируемый режим активируется флагами loki -target=write и loki -target=read и является рекомендуемой отправной точкой, когда один экземпляр Loki в монолитном режиме больше не справляется с нагрузкой на запись или чтение. Helm-чарт Grafana Loki включает опцию deploymentMode: SimpleScalable, которая автоматически создаёт отдельные Deployment-ы для чтения и записи, Deployment для бэкенда (Compactor и Ruler), а также необходимые Service-ы и Ingress-ы. Простой масштабируемый режим использует тот же loki-config.yaml, что и другие режимы, поэтому переход от монолитного режима к простому масштабируемому — или от простого масштабируемого к полным микросервисам — не требует переписывания конфигурации, а лишь изменения топологии развёртывания.

Как это работает

Simple scalable mode: Loki имеет три deployment режима. Monolithic (один бинарь, проще) — ок для < 100GB/день. Simple Scalable (read/write/backend сервисы в 3 tier-ах) — рекомендуется для большинства prod до TB/день. Microservices (каждый компонент scaled независимо) — для экстремального масштаба + multi-tenancy. Multi-tenancy через X-Scope-OrgID header. Cache (Memcached или Redis) ускоряет chunk + query result retrieval — essential на масштабе. Stateless сервисы + object storage = scale через добавление replicas.

Когда применять

Старт monolithic, переход на simple-scalable когда один бинарь упирается в лимиты, microservices только при нужде в true component-level autoscaling. Memcached / Redis cache — force-multiplier — включайте рано. Для multi-tenancy — design tenant ID propagation + per-tenant rate limits заранее.

Типичные ошибки

Ловушки Simple scalable mode: прыжок в microservices без нужды (operational complexity); нет caching-слоя (каждый query бьёт object storage); multi-tenancy без tenant rate-limits (один плохой tenant деградирует всех); недопровизион ingester memory (chunks теряются на OOM).

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…