Множество способов структурирования мультитенантного SaaS.
Существует один сайт, база данных с одной базой данных подход:
В основном у вас есть привязка сайта к прослушиванию* на выделенном IP-адресе.
Привязка DNS * .yourdomain.com к IP-адресу
Ваша функция регистрации создаст запись базы данных клиентов, содержащую поддомен.
Имеет маршрутизациюкод, который может определить идентификатор клиента для конкретного запроса на поддомене, а затем использовать фильтрацию на уровне строк в хранилище данных, чтобы возвращать данные только для этого конкретного идентификатора клиента.
Вы также можете создать свой кодцелый отдельный веб-сайт в файловой системе и добавьте соответствующие записи виртуальных хостов для нового сайта.
Плюсы: меньше накладных расходов базы данных из нескольких экземпляров базы данных, простое резервное копирование и восстановление (одна база данных) Минусы: немного больше работы, получаядоступ к данным, сложнее осколок
Тогда есть один сайт, несколько баз данных:
То же, что и выше, но поддомен сопоставляется с конкретной базой данных клиентов.
Плюсы: проще разделить, база данных клиентов лучше отделена
Минусы: большие накладные расходы, требуется многоэкземпляры базы данных, резервные копии которых трудно создать
Наконец, мультисайтовая база данных с несколькими сайтами
Вы создаете отдельные физические сайты и добавляете соответствующие записи виртуального хоста для своих клиентов во время регистрации, кака также создание отдельной базы данных для этого клиента
Плюсы: простой код приложения, легкое масштабирование, лучшая сегрегация пользователей, более легкая настройка при необходимости для каждого пользователя.
Минусы: сложная регистрацияcode ", требует много ресурсов, требует, чтобы ваше приложение имело доступ к записи для важных файлов конфигурации, тратит много места на диске.
Это зависит от того, как работает ваше приложение и что вы предлагаете для настройки пользователя.