Встречается на собеседованиях • сегодня
Как работать с БД в микросервисной архитектуре
В микросервисной архитектуре каждый сервис должен иметь свою изолированную БД (принцип bounded context). Это исключает прямое соединение между БД сервисов. Основные подходы:
- Собственная БД на сервис
Каждый микросервис управляет своей схемой и данными. Пример:java@Entity @Table(name = "orders") // Сервис заказов public class Order { ... }
-
Синхронизация через события
Используется Event Sourcing или паттерн «публикация/подписка» (Kafka, RabbitMQ). Пример:java@Transactional public void createOrder(Order order) { orderRepository.save(order); eventPublisher.publish(new OrderCreatedEvent(order.getId())); } -
API Gateway для агрегации данных
Клиент получает данные через API Gateway, который собирает их из нескольких сервисов. -
CQRS
Разделение на команды (запись) и запросы (чтение), часто с отдельной БД для чтения.
Важно: избегайте распределенных транзакций (2PC), используйте eventual consistency и компенсирующие транзакции.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы