Verwenden eines Nachrichtenbrokers und Ereignisses zum Integrieren von Unternehmenssystemen

Azure Event Grid
Azure-Servicebus

Diese Architektur basiert auf der grundlegenden Unternehmensintegrationsarchitektur , umfasst jedoch die Integration von Enterprise-Back-End-Systemen. Diese Architektur verwendet Nachrichtenbroker und Ereignisse, um Dienste für eine höhere Skalierbarkeit und Zuverlässigkeit zu entkoppeln. Stellen Sie sicher, dass Sie mit dem Entwurf und den Komponenten in der grundlegenden Integrationsarchitektur vertraut sind. Diese Elemente enthalten grundlegende Informationen zu den Kernkomponenten dieser Architektur.

Aufbau

Zu den Back-End-Systemen, auf die dieses Design verweist, gehören Software as a Service (SaaS)-Systeme, Azure-Dienste, nachrichtenbasierte Dienste und vorhandene Webdienste in Ihrem Unternehmen.

Diagramm, das eine Referenzarchitektur für die Unternehmensintegration zeigt, die Warteschlangen und Ereignisse verwendet.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Szenariodetails

Die vorangehende Architektur basiert auf der einfacheren grundlegenden Unternehmensintegrationsarchitektur, die Azure Logic Apps verwendet, um Workflows direkt mit Back-End-Systemen zu koordinieren und Azure API Management zum Erstellen von KATALOGen von APIs zu verwenden.

Bei der vorliegenden Version der Architektur werden zwei Komponenten hinzugefügt, um das System zuverlässiger und besser skalierbar zu machen:

Diese Architektur verwendet eine asynchrone Kommunikation über einen Nachrichtenbroker, anstatt direkte, synchrone Aufrufe an Back-End-Dienste auszuführen. Die asynchrone Kommunikation bietet die folgenden Vorteile:

Verwenden Sie das Ereignisraster, sodass verschiedene Komponenten im System auf Ereignisse reagieren können, wenn sie stattfinden, anstatt sich auf abfragende oder geplante Vorgänge zu verlassen. Ähnlich wie bei einer Nachrichtenwarteschlange und -themen hilft Das Ereignisraster dabei, Anwendungen und Dienste zu entkoppeln. Wenn eine Anwendung oder ein Dienst Ereignisse veröffentlicht, werden alle interessierten Abonnenten benachrichtigt. Sie können neue Abonnenten hinzufügen, ohne den Absender zu aktualisieren.

Das Senden von Ereignissen an Event Grid wird von zahlreichen Azure-Diensten unterstützt. So kann beispielsweise eine Logik-App auf ein Ereignis lauschen, wenn einem Blobspeicher neue Dateien hinzugefügt werden. Dieses Muster erstellt reaktive Workflows, in denen das Hochladen einer Datei oder das Ablegen einer Nachricht in einer Warteschlange eine Reihe von Prozessen startet. Die Prozesse können parallel oder in einer bestimmten Sequenz ausgeführt werden.

Empfehlungen

Beachten Sie die folgenden Empfehlungen. Weitere Empfehlungen finden Sie unter Grundlegende Unternehmensintegrationsarchitektur.

Service Bus

Service Bus verfügt über zwei Liefermodelle, das Pullmodell und das proxiierte Pushmodell :

  • Pullmodell: Der Empfänger ruft kontinuierlich neue Nachrichten ab. Wenn Sie mehrere Warteschlangen und Abrufzeiten verwalten müssen, ist die Abfrage möglicherweise ineffizient. Dieses Modell kann Ihre Architektur jedoch vereinfachen, da zusätzliche Komponenten und Datenhüpfen entfernt werden.

  • Proxied-Pushmodell: Der Empfänger abonniert zunächst einen bestimmten Ereignistyp in einem Ereignisrasterthema. Wenn eine neue Nachricht verfügbar ist, löst Service Bus ein Ereignis über Das Ereignisraster aus und sendet es. Dieses Ereignis löst dann den Empfänger aus, um den nächsten Batch von Nachrichten aus Service Bus abzurufen. Mit diesem Modell können Systeme Nachrichten fast in Echtzeit empfangen, ohne jedoch Ressourcen zum kontinuierlichen Abfragen neuer Nachrichten zu verwenden. Diese Architektur verwendet zusätzliche Komponenten, die Sie bereitstellen, verwalten und schützen müssen.

Wenn Sie einen Standardlogik-Apps-Workflow erstellen, der Service Bus-Nachrichten nutzt, empfehlen wir, die integrierten Service Bus-Connectortrigger zu verwenden. Der integrierte Verbinder löst die meisten Pullmodellkonfigurationen ab, ohne zusätzliche Kosten hinzuzufügen. Diese Funktion bietet das richtige Gleichgewicht zwischen Kosten, Oberflächenbereichsverwaltung und Sicherheit, da der Verbinder kontinuierlich innerhalb des Logic Apps-Laufzeitmoduls schleift. Weitere Informationen finden Sie unter integrierte Service Bus-Connectortrigger.

Verwenden Sie den PeekLock-Modus , um auf eine Gruppe von Nachrichten zuzugreifen. Mit PeekLock kann die Logik-App dann Schritte ausführen, um die einzelnen Nachrichten zu überprüfen, bevor sie abgeschlossen oder verworfen werden. Dieser Ansatz verhindert versehentlichen Nachrichtenverlust.

Event Grid

Wenn ein Ereignisraster ausgelöst wird, bedeutet dies, dass mindestens ein Ereignis aufgetreten ist. Wenn beispielsweise eine Logik-App einen Ereignisrastertrigger für eine ServiceBus-Nachricht abruft, stehen möglicherweise mehrere Nachrichten zum Verarbeiten zur Verfügung.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.

Informationen zu garantierten Verfügbarkeitsdetails der einzelnen Dienste finden Sie unter SLAs für Onlinedienste.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.

Um den Servicebus zu sichern, koppeln Sie die Microsoft Entra-Authentifizierung mit verwalteten Identitäten. Die Microsoft Entra-ID-Integration für Service Bus-Ressourcen bietet Azure role-based access control (RBAC) für eine differenzierte Kontrolle über den Zugriff eines Clients auf Ressourcen. Sie können Azure RBAC verwenden, um Einem Sicherheitsprinzipal Berechtigungen zu erteilen, z. B. einem Benutzer, einer Gruppe oder einem Anwendungsdienstprinzipal. Der Anwendungsdienstprinzipal in diesem Szenario ist eine verwaltete Identität.

Wenn Sie die Microsoft Entra-ID nicht verwenden können, verwenden Sie die SAS-Authentifizierung (Shared Access Signature), um Benutzern Zugriff und bestimmte Rechte für Service Bus-Ressourcen zu gewähren.

Wenn Sie beispielsweise eine ServiceBus-Warteschlange oder ein Thema als HTTP-Endpunkt verfügbar machen müssen, um neue Nachrichten zu veröffentlichen, verwenden Sie die API-Verwaltung, um die Warteschlange zu sichern, indem Sie den Endpunkt vorstellen. Anschließend können Sie Zertifikate oder OAuth-Authentifizierung verwenden, um den Endpunkt zu sichern. Die einfachste Möglichkeit zum Sichern eines Endpunkts besteht darin, eine Logik-App zu verwenden, die über einen HTTP-Anforderungs- oder Antworttrigger als Zwischenlösung verfügt.

Der Ereignisrasterdienst hilft beim Sichern der Ereignisübermittlung über einen Überprüfungscode. Wenn Sie Logic Apps verwenden, um das Ereignis zu nutzen, wird die Überprüfung automatisch erfolgen. Weitere Informationen finden Sie unter Event Grid – Sicherheit und Authentifizierung.

Netzwerksicherheit

Berücksichtigen Sie die Netzwerksicherheit im gesamten Design.

Kostenoptimierung

Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.

Verwenden Sie den Azure-Preisrechner, um die voraussichtlichen Kosten zu ermitteln. Hier finden Sie einige weitere Überlegungen dazu.

API Management

Sie werden für alle API-Verwaltungsinstanzen in Rechnung gestellt, wenn sie ausgeführt werden. Wenn Sie hochskalieren und dann nicht mehr diese Leistungsstufe benötigen, skalieren Sie die automatische Skalierung manuell oder konfigurieren Sie die automatische Skalierung.

Berücksichtigen Sie bei Workloads für die leichte Nutzung die Nutzungsstufe, bei der es sich um eine kostengünstige, serverlose Option handelt. Die Nutzungsstufe wird pro API-Aufruf abgerechnet. Andere Stufen werden pro Stunde abgerechnet.

Logic Apps

Logic Apps verwendet ein serverloses Modell. Die Abrechnung wird basierend auf der Anzahl der Aktionen und Connectoraufrufe berechnet. Weitere Informationen hierzu finden Sie unter Logic Apps – Preise.

Service Bus-Warteschlangen, -Themen und -Abonnements

Servicebuswarteschlangen und Abonnements unterstützen sowohl Push- als auch Pullmodelle zum Übermitteln von Nachrichten. Beim Pullmodell wird jede Abrufanforderung als Aktion gemessen. Selbst wenn Sie eine lange Abfrage auf den Standardwert von 30 Sekunden festlegen, können die Kosten hoch sein. Wenn Sie keine Echtzeitnachrichtenübermittlung benötigen, sollten Sie das pushbasierte Modell verwenden.

Servicebuswarteschlangen sind in allen Ebenen enthalten: Basic, Standard und Premium. ServiceBus-Themen und Abonnements sind in den Stufen "Standard" und "Premium" verfügbar. Weitere Informationen finden Sie unter Service Bus – Preise.

Event Grid

Event Grid verwendet ein serverloses Modell. Die Abrechnung wird basierend auf der Anzahl der Vorgänge berechnet. Vorgänge umfassen Ereignisse, die zu Domänen oder Themen wechseln, erweiterte Übereinstimmungen, Übermittlungsversuche und Verwaltungsaufrufe. Die Nutzung von bis zu 100.000 Vorgängen ist kostenlos.

Weitere Informationen finden Sie unter "Event Grid Pricing " und "Well-Architected Framework Cost Optimization".

Optimaler Betrieb

„Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung des optimalen Betriebs.

Die grundlegende Referenzarchitektur für die Unternehmensintegration enthält Anleitungen zu DevOps-Mustern, die sich an der Säule "Operational Excellence" des Well-Architected Framework ausrichten.

Automatisieren Sie Wiederherstellungsvorgänge so weit wie möglich, um die operative Exzellenz zu verbessern. Unter Berücksichtigung der Automatisierung können Sie die Azure-Protokollüberwachung mit Azure Automation kombinieren, um das Failover Ihrer Service Bus-Ressourcen zu automatisieren. Ein Beispiel für automatisierungslogik zum Initiieren eines Failovers finden Sie unter Failoverfluss.

Effiziente Leistung

Die Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.

Mit dem Service Bus-Premium-Tarif lässt sich die Anzahl von Nachrichteneinheiten aufskalieren, um eine höhere Skalierbarkeit zu erreichen. Weitere Informationen finden Sie unter Service Bus Premium und Standard messaging tiers and Autocaling feature.

Weitere Empfehlungen für Service Bus finden Sie unter Bewährte Methoden für Leistungsverbesserungen mithilfe von Service Bus Messaging.

Nächste Schritte