Я работаю над SaaS-приложением. Мы принимаем Shopify / Magento Перейти и т. Д. В качестве ссылки.
Наша архитектура SaaS выглядит следующим образом:
Как добиться этой функциональности?
Для этого вам нужно пройти через несколько вариантов конфигурации.
Это все. Наслаждайтесь!
Я думаю, что вам следует искать термин «приложение codeigniter multi Tennant», и, как уже было сказано, управление слишком большим количеством баз данных не является решением!
Вы можете достичь предлагаемого применения SAAS таким образом,
Будет 1 база данных для самого приложения, и еще N баз данных для клиентов, у каждого нового клиента будет новая база данных.
Приложение БД: Эта БД будет отвечать за хранение основных данных уровня приложения, т. Е. Профиля клиента + данных для входа в систему, других связанных с администратором материалов, которыми они хотели поделиться со своими клиентами. В случае с шоппингом, приложения, темы, макет, шаблоны могут быть основными вещами, которые будут храниться в этой БД.
Пользовательская БД: Должен быть сохранен только созданный пользователем, добавленный контент и его субконтент. Все, что мы можем назвать собственностью пользователя, должно храниться здесь.
ЗаметкаЕсли это платная услуга, то вы можете использовать хороший платежный шлюз, такой как полоса или сбор за оплату, для управления всеми вашими планами, подписками, уведомлениями по электронной почте, напоминаниями, журналом платежей, успешными / неудачными платежами, счетами на оплату.
WRT для субдомена и концепция собственного домена, вы можете сделать это с помощью механизма виртуального хостинга, вы можете сделать это с Apache, а также с сервером nginx.
— Субдомен: создайте конфигурационные файлы для каждого сервера, поместите их в нужное место, и любой созданный субдомен будет привязан к конкретному физическому виртуальному каталогу
— Customdomain: может создавать физический каталог, такой же, как поддомен, вместе с файлами конфигурации, но в этом случае вам нужно будет попросить вашего клиента выполнить привязку DNS с нашим IP-адресом.
В обоих случаях, когда запрос поступает на наш сервер, сервер проверит, доступен ли файл конфигурации и физический каталог, если он попал, тогда он перенаправит пользователя в судьбу.