Задать вопрос
@atachrus

Реально ли реализовать SAAS платформу на Laravel?

Имеется свой продукт, который был разработан для клиента. Клиент за пару лет обкатал его и хочет сделать коммерческую реализацию данного варианта на основе SAAS.

Сейчас всё работает под капотом Laravel и одна DB на mySQL.
Вопрос как грамотно подходить в таком случае для изолированного хранения данных (на сервере) и разделить каждого клиента для своей DB.
Возможно есть какие то примеры почитать или пакеты даже. Не могу понять, где и как должны храниться все эти настройки клиента (от db connection до путей на сервере). Да и вообще как реализовать Multi connection для db (не в env же всё прописывать).

Заранее благодарен.
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 4
iMedved2009
@iMedved2009
Не люблю людей
Да и вообще как реализовать Multi connection для db (не в env же всё прописывать).

В .env прописать одну бд которая хранит пользователей и их бд и доступы. А у всех остальных моделей переписать метод getConnection который и будет подсовывать нужный на основе данных пользователя. но только я как то не уверен что способ хранить данные пользователя в отдельных дб - хороший. Как минимум с миграциями придется возиться.

Лучше разделять на уровне приложения, имхо
Ответ написан
Sanes
@Sanes
Попадался такой подход с 1 пользователь = 1 база. Это ад. Может у вас модель другая. Представьте, если будет тысячи БД!
Ответ написан
Комментировать
@Levhav
Возьмусь за разработку проектов любой сложности.
Я сейчас работаю над проектом https://github.com/unifie-cloud/u-store который из себя представляет опенсорс шаблон для построения cloud SaaS сервиса именно с таким подходом.

Он запускает в Kubernetes или k3s отдельные копии вашего проекта для каждого нового клиента.
Это вполне оправданный подход в сфере b2b где безопасность и изоляция гораздо важнее чем расход серверных ресурсов и 10 - 100 клиентов это успешная прибыльная компания.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы