Ereignisgesteuertes Java mit Spring Cloud Stream-Binder für Azure Event Hubs

Veröffentlicht am 3 April, 2019

Principal Program Manager, Azure Developer Experience

Spring Cloud Stream-Binder für Azure Event Hubs ist jetzt allgemein verfügbar. Das Erstellen hochgradig skalierbarer, ereignisgesteuerter Java-Apps ist mit Spring Cloud Stream und Event Hubs ganz einfach. Dabei handelt es sich um einen vollständig verwalteten Dienst zur Datenerfassung in Echtzeit in Azure, der resilient und zuverlässig für jede Situation geeignet ist. Dies schließt dank der georedundanten Notfallwiederherstellung und Georeplikation auch Notfälle ein.

Spring Cloud Stream bietet eine Binderabstraktion für Implementierungen verbreiteter Nachrichtenbroker. Der Dienst stellt ein flexibles Programmiermodell bereit, das auf vielfach genutzten und vertrauten Spring-Konzepten und bewährten Methoden beruht. Dazu gehört die Unterstützung persistenter pub/sub-Semantiken, Consumergruppen und zustandsbehafteter Partitionen. Entwickler können damit nun dieselben Muster für die Erstellung von Java-Apps mit Event Hubs nutzen.

Grafik zu Azure Event Hubs und Spring-Apps

Erste Schritte 

Lesen Sie das Tutorial Erstellen einer Spring Cloud Stream Binder-Anwendung mit Azure Event Hubs, und erstellen Sie eine auf Java basierende Spring Cloud Stream-Binderanwendung über den Spring Boot Initializer mit Azure Event Hubs. Besuchen Sie das Azure-Portal, und erstellen Sie einen neuen Event Hubs-Namespace. Fügen Sie Ihrem Java-Projekt die folgende Maven-Abhängigkeit hinzu. 

<dependency>
     <groupId>com.microsoft.azure</groupId>
     <artifactId>spring-cloud-azure-eventhubs-stream-binder</artifactId>
     <version>1.1.0.RC4</version>
</dependency>

Veröffentlichen von Nachrichten

Verwenden Sie @EnableBinding(Source.class), um eine Quellklasse mit Anmerkungen zu versehen und Nachrichten in Event Hubs mit Spring Cloud Stream-Mustern zu veröffentlichen. Sie können den Ausgabekanal für die Quelle durch Konfigurationen anpassen.

  • Ziel: Geben Sie an, welcher Event Hub eine Verbindung mit dem Ausgabekanal herstellen soll.
  • Synchron/asynchron: Geben Sie den Modus zum Erstellen der Nachrichten an.

Nachrichten abonnieren 

Verwenden Sie @EnableBinding(Sink.class), um eine Senkenklasse mit Anmerkungen zu versehen und Nachrichten von Event Hubs zu verarbeiten. Sie können den Eingabekanal auch durch Konfigurationen anpassen. Eine vollständige Liste finden Sie in der Dokumentation Erstellen einer Spring Cloud Stream Binder-Anwendung mit Azure Event Hubs.

  • Ziel: Geben Sie einen Event Hub an, der an den Eingabekanal gebunden werden soll.
  • Consumergruppe: Geben Sie eine Consumergruppe an, die Nachrichten empfangen soll.

Erstellen ereignisgesteuerter Java-Apps mit dem Spring Cloud Stream-Binder für Event Hubs ausprobieren 

Probieren Sie eine Java-App mit dem Spring Cloud Stream-Binder bei Azure Event Hubs aus, und teilen Sie uns per E-Mail oder in den Kommentaren unten Ihre Meinung mit.

Weitere Ressourcen