Рубрики
Без рубрики

Введение в мультитенантные приложения с django

Что такое мультитенантные приложения, многоцелевые,-это архитектура, в которой один экземпляр … с меткой Django, Python, Tulciory, Merdmediate.

Что такое мультитенантные приложения

Multianancy-это архитектура, в которой один экземпляр программного приложения обслуживает нескольких клиентов.

Но тогда вам может быть интересно: «Разве все приложения это делают? Что делает это таким особенным? “

Ответ на это заключается в том, что мультитенантные приложения позволяют вам обслуживать нескольких клиентов с одной установкой приложения. Каждый клиент имеет свои данные полностью изолированными в такой архитектуре. Каждый клиент называется арендатором.

Арендаторам может быть предоставлена возможность настроить некоторые части приложения, такие как цвет пользовательского интерфейса (пользовательский интерфейс) или бизнес -правила, но они не могут настроить код приложения.

Подходы к многопользованию

Существуют различные подходы к мультиценнению. Ключевым среди них являются:

  1. Общая база данных с общей схемой.
  2. Общая база данных с изолированными схемами.
  3. Изолированная база данных с изолированной схемой.
  4. Полностью изолированные арендаторы.

Для этой серии мы будем идти по Общая база данных с изолированными схемами подход. Если вы хотите узнать больше об остальном, Проверьте эту удивительную книгу по Agiliq Анкет

Общая база данных с изолированными схемами

В этом методе один экземпляр базы данных ведет записи арендатора. В отличие от связывания данных каждого арендатора иностранным ключом, как мы обычно делаем, это распространено в методе 1, указанном ранее Общая база данных с общей схемой , Мы создаем новую схему для каждого нового арендатора.

Преимущества многоцелевого

Мультитенантные приложения особенно полезны, когда речь идет о построении программного обеспечения как продуктов Service (SAAS). Используя этот подход вместо однополучия, представляется ряд преимуществ. Ключ среди них:

  1. Доступная стоимость: наличие нескольких клиентов означает, что стоимость окружающей среды (хостинг, базы данных и время разработчика) используется. Эти сбережения, в свою очередь, обычно передаются в стоимости программного обеспечения.
  2. Добавить нового клиента проще: в приложениях для однородец, новая установка приложения требуется каждый раз, когда новый клиент выходит на платформу. С мультиченом, это происходит за считанные секунды, используя вызов API.
  3. Удобство в поддержании единого приложения: как упоминалось выше, использование подхода с одним оттенком означает наличие нескольких экземпляров одного и того же приложения. Вы можете представить себе кошмар поддержания и обновления всех этих случаев по мере роста ваших клиентов. Хорошие проблемы, конечно, так как вы, очевидно, делаете что -то правильно 😄, но, тем не менее, это приведет к большому времени и потери ресурса.

Живая демонстрация

Мы будем работать над созданием мультиорганизационного трекера расходов. Живую демонстрацию можно найти Здесь Анкет

Бэкэнд -код репо

Бэкэнд-код написан в Python (Django) и развернут с использованием Docker-Compose.

Репо имеет несколько ветвей, представляющих приложение на разных этапах. Мы движемся шаг за шагом, чтобы избежать информационной перегрузки.

Frontend Code Repo

Фронт был построен с Vue.js, в частности nuxt.js, и развернут с использованием PM2

В предстоящих постах мы получим практическое построение, создав функциональное приложение с полным стеком. Надеемся, что к концу серии вы сможете создать аналогичные системы.

Оригинал: “https://dev.to/lewiskori/introduction-to-multi-tenant-apps-with-django-3fog”