Настройка архитектуры разработки (лучшие практики)

Я ищу метод для построения архитектуры разработки. Только я не знаю лучших практик.

Заметка: я работаю со структурой Symfony

Представьте, что у вас есть несколько веб-сайтов, все эти сайты должны иметь свою собственную базу данных и CMS. Но когда вам нужно изменить столбец в БД, вы должны изменить его на все DBS. Или лучше иметь одну центральную БД, в которой вы можете сохранять данные на основе company_id.

А что делать с возможностью повторного использования кода. Например, я создал новую функцию для веб-сайта 1, как я могу сделать эту функцию доступной для всех моих других сайтов без отдельного обновления всех веб-сайтов.

Я надеюсь, вы, со-разработчики, могли бы помочь мне с вышеуказанными вопросами.

-3

Решение

Подход к созданию отдельной БД для каждого отдельного сайта имеет два основных преимущества: устойчивость и гибкость.

  • Если один из ваших проектов будет скомпрометирован и кто-то сможет испортить базу данных, этот же человек не сможет разрушить всю вашу инфраструктуру. И разработчик делает небольшую ебать в UPDATE запрос также не может повлиять на другие сайты.

  • Когда одному из ваших сайтов удается неожиданно расти, с отдельными базами данных очень просто перенести его на другое оборудование.

Что касается обновлений в структуре, эти изменения SQL должны быть задокументированы в любом случае, поэтому для каждого вашего проекта должны быть предусмотрены сценарии миграции. Затем эти сценарии могут быть выполнены кодом автоматического развертывания.

Что касается повторного использования кода … ну … вы должны отделить эти повторно используемые фрагменты в их собственных библиотеках, затем поместить в ваши частные репозитории, а затем просто соединить их, используя конфигурация композитора. Таким образом, вы можете развернуть изменения как постепенно, так и сразу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector