1. Что такое FULL VACUUM и зачем он применяется?
VACUUM FULL полностью перераспределяет таблицу и освобождает неиспользуемое пространство на диске, блокируя таблицу на запись. Его применяют для значительного уменьшения размера таблиц после массового удаления или обновления большого объёма строк.2. Что такое микросервисный слой?
Микросервисный слой — это уровень в системе, где сосредоточены автономные сервисы, выполняющие отдельные бизнес-функции (например, аутентификация, платежи, каталог). Каждый слой взаимодействует с соседними через чётко определённые API, что упрощает развитие и масштабирование, а также позволяет изолировать изменения внутри одного слоя.
3. Какие существуют типы вызовов в gRPC?
gRPC поддерживает четыре вида вызовов: одиночный RPC (Unary) — один запрос/ответ, серверный стриминг — один запрос, поток ответов, клиентский стриминг — поток запросов, один ответ, и двунаправленный стриминг (Bidirectional) — поток запросов и поток ответов.
4. Как обеспечить согласованность данных между микросервисами?
Для согласованности используют транзакции на уровне бизнес-процессов (saga), где каждый шаг либо компенсируется при ошибке, двухфазное подтверждение (2PC) или eventual consistency через публикацию событий (Event Sourcing, CDC). Saga-паттерн более гибок и масштабируем, но требует реализации компенсационных операций.
5. Что такое SOLID-принципы?
SOLID — это аббревиатура пяти принципов: Single Responsibility (единственная ответственность), Open/Closed (открытость/закрытость), Liskov Substitution (подстановка Лисков), Interface Segregation (разделение интерфейсов) и Dependency Inversion (инверсия зависимостей). Они направлены на повышение расширяемости, тестируемости и сопровождаемости кода.
#vacuum_full #cleanup #table_rewrite #service #layer #autonomy #unary #streaming #server_streaming #saga #event #sourcing #single #responsibility #open