Opis
Podczas prezentacji omówię, czym jest aplikacja multi-tenant. Z czego się składa, jakie problemy rozwiązuje i jakie wprowadza nowe. Zobaczysz również, w jaki sposób zaimplementować aplikację multi-tenant w .NET 5 oraz Azure.
Przykład
Przykład do tej prezentacji znajduje się na githubie: https://github.com/danielplawgo/MultiTenant. Sam tam tak naprawdę dwa przykłady, które pokazują dwa różne podejścia.
Demo1 pokazuje rozwiązanie, który można by w łatwy sposób zastosować do aplikacji single tenant podczas jej migracji do multi tenant. Aby taka migracja była by w miarę łatwa do osiągnięcia niedużym nakładem pracy. Dlatego w tym przykładzie zastosowałem podejście w dedykowaną bazą danych dla poszczególnych tenantów/organizacji. Natomiast do określenie tenanta zostało wykorzystane podejście z adresem url.
Demo2 natomiast to podejście z jedną bazą danych, w której każda z tabel zawiera kolumnę TenantId. Gdzie następnie w zapytaniach do bazy danych dorzucany jest zawsze warunek w WHERE, który odpowiednio filtruje dane. Do tego wykorzystałem filtrowanie z Entity Framework Plus. W tym przykładzie tenant jest zapisywany w tokenie użytkownika, a adres url aplikacji jest identyczny dla wszystkich tenantów.
Wpisy
Jestem w trakcie przygotowywania mini serii wpisów poświęcony tematowi budowania aplikacji multi tenant. W najbliższych tygodniach pojawi się kilka wpisów z tej tematyki.
Ich aktualna lista to:
- Wprowadzenie do multi tenant
- Jak określić tenanta
- Dedykowana baza danych dla tenanta
- Jedna baza danych dla wszystkich tenantów