Совместное использование данных модели между веб-приложениями - PullRequest
2 голосов
/ 13 марта 2011

Я ищу наилучший способ обмена данными модели между двумя веб-сайтами, управляемыми MVC (я использую Symfony).

Справочная информация

У нас есть два веб-сайта A и B. Одно и то же программное обеспечение используется для обоих сайтов, но есть разные клиенты и данные.Клиенты могут выпускать контент.Теперь мы собираемся ввести новый способ оплаты с тем преимуществом, что контент пользователя будет автоматически размещаться на обоих веб-сайтах.

Реализация?!

У меня есть триидеи для реализации:

  1. Использование одной базы данных для обоих приложений.Затем мне пришлось бы расширить некоторые таблицы на один столбец, который указывает на соответствующий целевой веб-сайт (A / B).

    Я думаю, что это будет плохой дизайн .Большая часть кода должна быть переписана, чтобы исключить записи из наборов результатов запросов, которые не принадлежат соответствующему веб-сайту.

  2. Использование двух баз данных.

    По моему мнению, это значительно снизит производительность и будет очень трудно реализовать.Данные всегда должны запрашиваться дважды.Также в будущем могут появиться веб-сайты C, D, E ...

  3. Синхронизация двух баз данных через веб-сервис.

    Некоторые данные будут сохранены дважды.Поэтому все операции с таким фрагментом данных должны выполняться дважды (создание, чтение, обновление, уничтожение).

Теперь я застрял, потому что у каждого решения есть серьезные недостатки.

У вас есть идеи?Если нет, какой из них вы считаете лучшим из моих?

1 Ответ

4 голосов
/ 13 марта 2011

Я думаю, что ваш первый вариант самый лучший.Вы собираетесь максимально сократить количество дублирующихся данных, и у вас должна быть лучшая производительность.Вам нужно будет добавить дополнительную проверку, чтобы исключить записи, не принадлежащие каждому конкретному веб-сайту, но все решения потребуют работы.

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