Представим, есть 2 сайта, принадлежащих одному человеку, хостятся на одном сервере. Как правильно централизировано управлять контентом?
Есть ли примеры как это должно быть устроено? Каким образом разделять какому сайту какой контент приналдлежит правильно? Понятное дело что можно всунуть поле с названием сайта прямо в документ, но делать эту проверку на каждый запрос выглядит полной глупостью.
Вот я, например, сделал простой CRUD на NodeJS/Mongo. Как реализовать эту цель?
1. Не совсем понял как конфиг будет влиять на логику. Меня в принципе деплой не интересует - у меня это чисто API, и мне нужен просто единый интерфейс для управления контентом. В проде все будет поотдельности - у каждого домена свой апи, но единая БД (или хотя бы интрефейс)
2. Указывать сайт прямо в документе которому он принадлежит? Мне кажется это неэффективно. Например, надо будет сделать выборку 100 статей, по какому-то фильтру, и тут еще и домен надо проверять. Да и мне кажется в одной коллекции БД хранить их навернео не стоит (у меня МОнга, не таблицы, не уверен насчет терминологии SQL)
hckn, мультисайтовость - это технически просто:
1. раздел для добавления сайта
2. выбор сайта для добавления/редактирования контента.
3. либо урл контента сразу пишем с указнием сайта, либо делаем привязку согласно редактируемого сайта.
4. правим роутинг согласно этого.
грубо говоря - все точно так же как с категориями. только есть еще одна "категория" над категориями.
Как правильно централизировано управлять контентом?
Правильно понятие растяжимое и управлять можно по разному. Править контент? Включать отключать сайт? Модерировать?
Каким образом разделять какому сайту какой контент приналдлежит правильно?
Вероятно он в разных базах данных
Понятное дело что можно всунуть поле с названием сайта прямо в документ
Зачем? Просто Ваш CRUD должен работать с двумя базами. А вот вариантов реализации может быть миллион в зависимости он необходимости и выбранных технологий.
Максим Тимофеев, т.е. подключатся к нескольким БД одновременно на 1 сервере? Я никогда такого не делал. Уверен - множество проблем гарантировано. Ну вот я подключаюсь к базе, Монгуз по дефолту использует доступное подключение. Как быть когда 2 подключения? откуда он будет знать куда что сохранять? И таких вопросов у меня со старту десяток.
Максим Тимофеев, да не даст он много вариантов, ты не понимаешь о чем говоришь. Я почитал решения с Монгузом на не сколько баз - это ад. Все еще "не видишь проблемы"?
hckn, ooo, я могу дать очень много вариантов. потому что подобные задачи решал годами, на сетках с многомиллионной аудиторией.
то, что я написал в своем ответе - лишь отправная точка.
одна из которых на 3 серверах за последний год обслужила суммарно в среднем чуть менее 40 млн/месяц.
hckn, Я не знаю Монгуз, возможно с ним проблемы и есть. Я не вижу проблемы в рамках например php и mysql иметь админку, которая менеджит неограниченное количество баз и как следствие сайтов.
DevMan, я не говорил о вас. Максим упомянул что Гугл даст мне много вариантов, а из с Монгузом не так и много - он совсем подходящий инструмент. похоже. А ответ ваш если честно ниочем) Вы ж меня тоже в гугл отправили.
DevMan, нет. как раз код я совсем не ждал, особенно потмоу что я привязан к своему стеку. Мне сейчас надо понять принцип как организовать работу. Начиная от работы клиента (как построить роутинг, эндпоинты), заканчивая как все хранить в БД