Я только что разработал WebApp с правами человека в Ларавеле.Архитектура и базы данных с несколькими приложениями
Так что в этом приложении у меня есть моя база данных пользователей.
Теперь у меня есть 2 старых приложения, которые я собираюсь переписать/Перенести в Laravel.
Первый - это управление платежами служащих.
Второе приложение предназначено для мониторинга моего продавца в поле.
Итак, в основном, я в основном переписал их.
Мой вопрос об архитектуре. Я разработаю эти 2 приложения, разделяющие API в Lumen/Laravel для каждого приложения, индивидуально, а затем записывая клиентов в Angular2.
Я использую OAuth2.0 для установки полномочий и областей между приложениями.
Теперь моя нерешительность находится на части базы данных.
Должен ли я хранить базу данных отдельно, включать базу данных в одну и ту же схему или как мне обращаться с моими базами данных.
Сегодня у меня есть 1 DB для каждого приложения, но также у меня избыточность у пользователей: каждое приложение работает с одними и теми же пользователями и поэтому дублирует эту информацию.
Прямо сейчас, когда пользователь создан в App1, он вызывает API-интерфейсы для его создания в приложениях2 и app3. Это не так приятно, ИМХО.
Так что, я думаю, что я хотел бы иметь единую базу данных пользователей, но я на самом деле не имею опыта, что:
- я должен извлечь данные пользователя в центральной базе данных для всех пользователей, должны
- Должен ли я сохранять информацию пользователя, дублированную между моей БД?
- если я держу его в 3 дифферент DB, как я должен сделать JOIN и сделки, внешние ключи и т.д.
Я знаю, что есть не один ответ, это зависит от того, что я хочу, но это также моя проблема, я не знаю, на какой вопрос я должен просить принять мое решение ???
Важно отметить, что у меня не так много трафика, не более 1000 пользователей, и все они принадлежат моему предприятию, и это не будет увеличиваться. Итак, действительно, сделать масштабируемое приложение не должно быть моим приоритетом прямо сейчас.
Любой совет будет оценен!