Ответ
Объем данных, которым управляет один микросервис, обычно ограничен десятками гигабайт, чтобы сохранять agility и простоту операций (резервное копирование, миграции, масштабирование). Конкретные цифры зависят от домена:
- Сервис аутентификации/пользователей (
UserService): 1-50 ГБ. - Сервис заказов (
OrderService): 10-100 ГБ. - Сервис кэша или сессий (
SessionService): 1-10 ГБ (данные часто volatile). - Справочный/конфигурационный сервис (
CatalogService): до 1 ГБ.
Практическое правило: если таблица приближается к 100 ГБ, это сигнал пересмотреть подход:
- Партиционирование по дате или диапазону ключа.
- Архивация старых данных в холодное хранилище (например, S3).
- Шардинг (горизонтальное разделение) базы данных самого микросервиса.
Пример из опыта: В системе электронной коммерции микросервис PaymentService работал с таблицей транзакций объемом ~30 ГБ. При росте до 80 ГБ мы внедрили партиционирование по месяцу, что сохранило производительность SELECT для текущих данных и упростило очистку архивных.