У меня есть 2 разных приложения (веб-приложение и настольное приложение) с разными серверами баз данных, но с одинаковой структурой.
Я хочу, чтобы во всех базах данных были одинаковые данные, независимо от того, куда пользователь вставляет / обновляет / удаляет запись. Это самое простое для меня, но я не думаю, что это оптимально.
Так, например, если я вставляю запись в настольное приложение, эта запись должна быть вставлена на сервер веб-приложений («облако») и наоборот.
Я использую Spring + Hibernate + PostgreSQL для веб-приложения и JavaFX + Hibernate + PostgreSQL для настольного приложения.
На данный момент я рассматриваю 2 варианта:
Использование сокетов для отправки сообщений между серверами при каждой вставке / удалении / обновлении записи.
Использовать триггеры и оболочку внешних данных в PostgreSQL. Я не слишком знаком с этим, поэтому я не знаю, смогу ли я сделать то, что я хочу с этой опцией. Могут ли они работать вместе?
Есть еще один вариант? Как вы думаете, что лучше?