powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / разделить select и insert на разные DataSource
15 сообщений из 15, страница 1 из 1
разделить select и insert на разные DataSource
    #39098678
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят подскажите как разделить select и insert какой либо сущности в БД. Суть в том что есть два инстантса приложения по разным адресам. одно из них на хосте, где расположена мастер-Бд, другое - на хосте где реплика. Оба работают получается что с БД localhost:port. Нужно чтоб второе приложение (то что на хосте с репликой) один из классов инсертила в мастер-бд, а читала все ж таки с локальной. Реально ли так? в какую сторону лучше покопать.
сейчас используются spring + jpa + repository
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yams,
Может проблему опишешь, а не решение. Странная постановка.
Реплика в какую сторону?
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098694
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать два DataSource в контексте очень просто. Выбирать один из двух тоже не сложно. Единственное, что я не вижу способа это автоматизировать. Вам нужно самостоятельно отпределиться и пометить read only транзакции, чтобы их все запускать на read-only DataSource. При этом, желательно, наверное, иметь один SessionFactory (JPA PU), чтобы небыло двух кэшей. Соответственно лучше такое делать через прокси DataSource, который будет смотреть атрибуты текущей Spring транзакции и выдавать соединение из двух других DataSource.
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098696
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yamsкак разделить select и insert какой либо сущности в БД
update состоит из select+update
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098697
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, проблема в том что при запуске приложения создаются недостающие записи аудита. И, если на хосте с репликой, запуск осуществляется раньше, чем на хосте с мастер базой, затем при репликации этих двух получаем ошибку. Надо чтоб независимо от того кто запускается первый, записи аудита попадали только в масттер-БД
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098699
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, спасибо, посмотрю с сторону прокси-датасоурс
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098705
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Вполне стандартная постановка. Есть Master/Slave база. Slave read-only. Выборки на много больше чем записи.
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098706
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yams,
аудит входа в реплику не нужен что-ли?
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098707
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczSlave read-only.
у приложения роль только чтение сделать?
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098711
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, аудит из мастрера реплицируется в реплику получается, что он таам почти всегда свежий. но вопрос касается только класса-аудита, остальное читается и пишется стандартно
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098713
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, Вообще как таковой проблемы бы не было если бы была гарантия что мастре-хост всегда будет первый в очереди на обновление+включение. Происходит обновление - добавляется запись в табличку аудита. Но такой гарантии нет, потому возникла необходимость предусмотреть этот случай
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098750
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yams,
Не понял.
У меня аудит без pk но с меткой времени.
Зашел Иванов после мастера в реплику. Ну и пусть. Сломаться та ничего не должно. Будеть 2 записи входа.
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098755
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
Я тоже не вижу способ автоматом. Если один класс, то пусть делает хоть руками.
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098756
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, , будем обсуждать у кого как организовано ? ;))

у меня аудит классов. ставим новую версию, в ней добавился класс. при установке новой версии приложения смотрим в табличку, там такого класса нет, делаем запись.
...
Рейтинг: 0 / 0
разделить select и insert на разные DataSource
    #39098760
yams
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

видимо придется и правда руками. Спс за обсуждение. Тему можно закрывать
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / разделить select и insert на разные DataSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]