Как построить read replica стратегию в Spring Boot?

Senior
199 просмотров
AFK Offer AI

AbstractRoutingDataSource позволяет динамически выбирать DataSource per-запрос. @ReadOnly аннотация или @Transactional(readOnly=true) → направить в replica. Write транзакции → primary. Реализация: кастомный AbstractRoutingDataSource.determineCurrentLookupKey() смотрит на TransactionSynchronizationManager.isCurrentTransactionReadOnly(). Важно: replica лагает за primary (replication lag) — данные могут быть немного устаревшими. Не использовать replica для reads после writes в одной операции.

Следующий вопрос

Что такое off-heap memory и когда её использовать?