Существуют ли специальные конфигурации для двух приложений Grails, использующих одну и ту же базу данных и таблицы? - PullRequest
2 голосов
/ 03 августа 2010

У меня есть два приложения grails (1.2.1), развернутых на двух разных серверах приложений.Одно приложение содержит основной сайт (представление, контроллер, домен и т. Д.), А другое приложение имеет плагин Quartz, который выполняет основную и внутреннюю обработку.Оба приложения совместно используют классы домена и одинаковую конфигурацию источника данных.Это означает, что два приложения получают доступ к одной и той же базе данных и таблицам.

Мой вопрос: есть ли какие-либо штрафы за запросы к базе данных?

Я просто замечаю некоторую медлительность в приложении основного сайта, если приложение Quartz Job работает.Нет четких доказательств или статистики, хотя.Может ли компонент hibernate в каждом приложении правильно обрабатывать параллелизм и транзакции в некотором событии?Или мне нужно настроить что-то в grails-app / conf для каждого приложения?сейчас я не добавил дополнительную конфигурацию.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 03 августа 2010

Основная проблема, о которой я мог подумать, это проблемы с кэшированием 2-го уровня. Если оба приложения пытаются и кешируют данные, это может вызвать StaleObjectExceptions и аналогичные ситуации, когда кэши не синхронизируются с БД из-за того, что другое приложение изменяет их. Кэширование 2-го уровня по умолчанию отключено, поэтому у вас может не возникнуть проблем.

Это также зависит от того, используете ли вы оптимистическую блокировку, предоставляемую по умолчанию, или явные блокировки с помощью метода lock () в ваших классах домена. Оптимистическая блокировка не должна вызывать замедления (но может вызвать исключения при сохранении, если другое приложение обновило строку).

0 голосов
/ 04 сентября 2010

Рассматривали ли вы архитектуру, в которой одно приложение управляет классами вашего домена, а другое интегрируется с ним посредством сообщений или вызовов веб-служб? При этом вы можете избежать некоторых проблем, связанных с дублированием в ваших приложениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...