Рекомендации по дизайну автономных веб-приложений

Я хочу знать, какую архитектуру лучше всего использовать в этом случае:

  1. У меня есть много магазинов, которые подключаются к веб-приложениям, разработанным с использованием Ruby on Rails.
  2. Интернет недоступен для всех time
  3. Решением была разработка автономной системы, требующей установки локальной копии удаленной базы данных.

Все это уже разработано. Теперь то, что я хочу сделать:

  • Всегда работать с локальной копией базы данных.
  • Любые изменения в локальной базе данных должны синхронизироваться с удаленной базой данных.
  • Все локальные копии должны иметь те же данные в других локальные копии.

Чтобы решить эту проблему, я подумал об использовании программного обеспечения, подобного JMS, в конечном итоге Rabbit MQ. Он заключается в отправке любого sql-запроса в очередь JMS, который будет выполняться в удаленном экземпляре приложения, которое будет вставлять в удаленную БД и помещать инструкцию insert или SQL в другую очередь, которая будет прочитана всеми локальными экземплярами. Это кажется сложным и должно замедлить работу приложения.

Есть ли дизайн или рекомендации, которые я должен применить для решения этой проблемы?

6
задан M'vy 13 March 2011 в 15:40
поделиться