Blog

Aktuelle Neuigkeiten zum Oldtimertreffen

Waschplan für mieter Muster

Multi-Tenant-Systeme haben zwar offensichtliche Vorteile für Kunden, stellen aber mehrere architektonische Herausforderungen dar. Damit ein einzelnes System wie ein Satz einzelner Systeme erscheint, müssen Daten, Konfiguration sowie nicht-funktionale Merkmale, wie z. B. Leistung, zwischen den Mandanten isoliert werden. Diese Isolierung führt zu Komplexität in die Anwendung und das Datenbankschema, z. B. durch Die Weitergabe der Mandantenidentität über den Code und die Daten. Die Mandantenisolation ähnelt dem Rebalancer, mit dem Ziel, Daten auf Knoten neu zu verteilen, wenn der vorhandene Cluster überlastet wird. Es gibt jedoch eine wichtige Unterscheidung zwischen der Kontrolle. Podcast Octopus Gründer und CEO, Paul Stovell, hat vor kurzem eine Episode von .NET Rocks aufgenommen, die über Building Multi-Tenant Applications spricht.

Es ist ein großartiges Zuhören, um ein besseres Verständnis dafür zu erhalten, warum Sie eine Anwendung mit mehreren Mandanten erstellen möchten, und die Überlegungen, die in ihren Entwurf und ihre Bereitstellung einfließen. Wenn z. B. eine Anwendung mit mehreren Mandanten nur die Anmeldung von bestimmten Mandanten zulässt, die sich für ihren Dienst angemeldet haben, muss sie entweder den Ausstellerwert oder den tid-Anspruchswert im Token überprüfen, um sicherzustellen, dass sich der Mandant in der Abonnentenliste befindet. Wenn eine Anwendung mit mehreren Mandanten nur Personen behandelt und keine Zugriffsentscheidungen auf der Grundlage von Mandanten trifft, kann sie den Ausstellerwert vollständig ignorieren. Wenn eine Anwendung die Zustimmung des Administrators erfordert und sich ein Administrator anmeldet, ohne dass der Parameter prompt=admin_consent gesendet wird, gilt der Administrator, wenn er der Anwendung erfolgreich zustimmt, nur für sein Benutzerkonto. Regelmäßige Benutzer können sich weiterhin nicht anmelden oder der Anwendung zustimmen. Diese Funktion ist nützlich, wenn Sie dem Mandantenadministrator die Möglichkeit geben möchten, Ihre Anwendung zu untersuchen, bevor Sie anderen Benutzern Zugriff gewähren.

Multitenancy vereinfacht den Release-Management-Prozess. In einem herkömmlichen Release-Management-Prozess werden Pakete, die Code- und Datenbankänderungen enthalten, auf Clientdesktop- und/oder Servercomputer verteilt. Im Einzelfall wäre dies ein Servercomputer pro Kunde. Diese Pakete müssen dann auf jedem einzelnen Rechner installiert werden. Beim Multitenant-Modell muss das Paket in der Regel nur auf einem einzelnen Server installiert werden. Dies vereinfacht den Release-Management-Prozess erheblich, und die Skalierung hängt nicht mehr von der Anzahl der Kunden ab. Im Allgemeinen haben Datenbanken mit mehreren Mandanten die niedrigsten Kosten pro Mandant. Die Ressourcenkosten für eine einzelne Datenbank sind niedriger als für einen elastischen Pool in gleicher Größe. Darüber hinaus können in Szenarien, in denen Mandanten nur begrenzten Speicher benötigen, potenziell Millionen von Mandanten in einer einzigen Datenbank gespeichert werden.

Back to top