Що саме є додатком для багатьох орендарів?


16

Відповідно до визначення, доступного в Інтернеті, це " Мульти-оренда - це архітектура, в якій один примірник програмного забезпечення обслуговує декількох клієнтів ". Це означає, що у мене є веб-сайт ресторану чи школи, і я надаю доступ до різних ресторанів чи шкіл, щоб використовувати мою програму з власними даними, використовуючи свої дані, які я надаю, коли вони купують мій продукт управління школою. Як і мій веб-сайт, як schoolmanagement.com, і я надаю різні піддомени для клієнтів різних шкіл, таких як school1.schoolmanagement.com & school2.schoolmanagement.com, але код однаковий за обома цими субдоменами. Обидві школи мають різні функціональні можливості або теми залежать від їх окремої бази даних. Тому мені потрібно надатиschoolmanagement.com для входу, і як тільки мій клієнт увійде на основі їхніх даних для входу, я переадресовую їх відповідний URL, наприклад school1.schoolmanagement.com .

Це моє розуміння багатокористувацького застосування. Чи правильно моє розуміння? Чи є в Інтернеті багатопрофільна програма, яку я можу пройти.


1
Що ви маєте на увазі під "Чи є в Інтернеті багатокористувацька програма, яку я можу пройти"? Чи хочете ви отримати джерело, або спробувати орендаря, або запуститись як господар? Як ви зазначаєте, хостинг доменів - це загальний приклад для багатьох орендарів, як для великих, так і для малих компаній-господарів. Google Apps for Business (або все, що є брендингом) - це також досить широке розповсюдження програми для багатоорендарів.
Крістіан Н

1
Поки ви на правильному шляху. Багатостороннє орендування стосується права власності на дані. Дані сегментовані орендарями (власниками). Використання програми є однаковим з простої причини: економія масштабу. Зберігання даних також може бути однаковим або може бути різним для кожного тенана. Дані не можуть бути доступними для спільноти серед орендарів (або, як правило, їх немає, на сьогодні я знаю).
Лаїв

@ KristianH дякую за приклад хостингу домену, я це отримав.
Номі Алі

@Laiv Отже, ми можемо мати різні бази даних для кожного клієнта з їх окремою конфігурацією?
Номі Алі

2
Так. Це (ІМО) кращий спосіб. Але це теж дорогий. Коли я кажу про різні бази даних, вони можуть бути: а) різні схеми або екземпляри db в одній і тій же RDBMS або b) абсолютно різні RDBMS.
Лаїв

Відповіді:


10

Так, це все. Але визначення вікіпедії недостатньо загальне. Він не стосується багаторівневих архітектур або нових форм архітектури, таких як SOA або мікросервіси.

Багатостороннє орендування стосується програмних систем та ізоляції даних . Деякі приклади:

  • багаторівнева система з унікальною базою даних може бути багатоорендовою. Приклад: система SAP складається з резервного бази даних та пари серверів веб-додатків, які розміщують масштабовано веб-сервіси. Це багатокористувач: ви можете додати нового клієнта, не змінюючи встановлену програму, а кілька клієнтів можуть користуватися системою, не знаючи один про одного. Дані є повністю ізольованими (власницька технологія).
  • Ваша система складається з одного або декількох процесів, на яких запущені веб-сервіси, які піддаються впливу різних клієнтів через різні доменні імена (але це все одно ті самі процеси, які запускаються на сервері). Ізоляція даних досягається окремими базами даних. Це, безумовно, багаторічний орендар.
  • мікросервісна система може аналогічно запускати кілька вільно зв'язаних наборів веб-сервісів, кожен з яких використовує власну мікро-базу даних. Якщо потрібно для масштабування, ви можете запустити нові клони тих же мікросервісів, і вони через деяку функцію реєстрації знайдуть своїх однолітків і автоматично підключаться до них, пропонуючи користувачеві поведінку однієї програми. Тоді можливі два сценарії:
    • якщо, коли ви хочете обслуговувати нового клієнта, вам доведеться запустити новий окремий набір мікросервісів і організувати, що мікропослуги для одного замовника підключаються лише до мікросервісів, що стосуються того ж замовника, то це одноорендатор.
    • але якщо ви можете обслуговувати нових клієнтів, використовуючи запущені екземпляри (а нові мікросервіси знадобляться лише для продуктивності), то це багатокористувач

1

Я б сказав, що так, ваше розуміння в принципі правильне. Додаток ділиться кількома клієнтами, а також дані кожного клієнта надходять у базу даних. Спільний доступ до одного і того ж коду, не маючи в одній базі даних різних клієнтів, мабуть, не вважатиметься багатостороннім.


2
@NomiAli Ні, я б не вважав цього багатостороннього. Це виділяє окреме середовище для кожного замовника. однією з переваг мультитенанта є те, що база даних та програмне забезпечення оновлюються одночасно для всіх клієнтів. Одне розгортання, і всі перебувають на новітній версії. Те, про що ви говорите, - кожен клієнт має власну окрему установку. Я припускаю, що у вас може бути спільна база даних коду, але різні бази даних, але це було б нерозумно, оскільки вам потрібно бути дуже обережними щодо змін вашої БД, зробивши її дорожчою, що перемагає мету багатостороннього.
Енді

1
@NomiAli Схема на кожного клієнта матиме навіть більше недоліків, ніж база даних на клієнта, керувати її ще складніше, оскільки вам потрібно запускати ті самі сценарії, просто змінюючи імена схеми. Знову ж таки, це не неможливо, але суть багатосторонньої програми полягає у зниженні витрат на постачальника програмного забезпечення; речі, про які ви питаєте, підштовхують їх назад.
Енді

2
Тож якщо моя самотня база даних, в якій зберігаються всі орендарі, виходить з ладу або стає порушена… Куди йде зниження витрат? А що відбувається, коли кожен тенан має різні потреби в ресурсах і продуктивності? Що робити, якщо вони хочуть мати доступ до сховища даних? ... Так. Різні сховища даних на тенан і різні схеми є багатостороннім. Тут бізнес-стратегія та послуги, які ми хочемо надавати клієнтам thd, важливіші, ніж деталі щодо впровадження. Багаторічна оренда - це особливість, диференціальне значення. Чим ближче до потреб клієнтів, тим краще.
Лаїв

2
Це може вас зацікавити softwareengineering.stackexchange.com/q/340531/222996
Laiv

4
Ви трохи завищуєте аспект багатозахисної бази даних. Кілька баз даних - це лише проектне рішення; ви можете мати декілька баз даних, що мають спільну схему, і використовувати сценарій для їх оновлення одночасно. Усі додатки для багатьох орендарів повинні відокремлювати дані кожного клієнта від інших клієнтів; механізм, за допомогою якого це робиться, є деталізацією реалізації, і залежить від таких факторів, як бажана ступінь ізоляції тощо.
Роберт Харві

0

Мульти-оренда - це архітектура, в якій один примірник програмного забезпечення обслуговує декількох клієнтів. Кожного замовника називають орендарем. Орендарям може бути надана можливість налаштувати деякі частини програми, наприклад, колір користувальницького інтерфейсу (UI) або бізнес-правила, але вони не можуть налаштувати код програми.

У архітектурі, що має багато орендарів, декілька примірників програми працюють у спільному середовищі. Ця архітектура може працювати, оскільки кожен орендар інтегрований фізично, але логічно розділений; Це означає, що один екземпляр програмного забезпечення працюватиме на одному сервері і потім обслуговуватиме декількох орендарів. Таким чином, програмне забезпечення в архітектурі з декількома орендарями може ділитися виділеним екземпляром конфігурацій, даних, управління користувачами та інших властивостей.

Для отримання додаткової інформації зверніться до https://whatis.techtarget.com/definition/multi-tenancy ..

Як і у вашому випадку, всі члени школи, які підписалися на ваш сайт, отримають авторизацію на підставі орендної плати та дозволів та отримуватимуть доступ до відповідних баз даних за допомогою однієї програми. Єдиний додаток, підключений до баз даних. Якщо ви створюєте субдомени для кожної школи, це призводить до того, що вона повертається до тієї ж самої моделі оренди.

Я сподіваюся, що це відповість на ваше запитання.


1
Ласкаво просимо до інженерії програмного забезпечення ! Будь ласка , змініть свій відповідь , щоб включити посилання на її джерело ; зараз це справа плагіату .
Глорфіндель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.