Wir alle brauchen Kalium

Ein Framework, sie zu verbinden: Asynchrone Microservice-Kommunikation mit Kalium

Florian Roos

© Shutterstock / Dmitriy Khvan

Kalium ist ein reaktives Framework für die Microservice-Entwicklung in Java. Es soll die asynchrone Interaktion zwischen verschiedenen Microservices vereinfachen und setzt Apache Kafka als Event-Bus voraus.

Kalium, benannt nach dem Element aus der Familie der Alkalimetalle, wird unter Apache-2.0-Lizenz entwickelt, Urheber ist das Unternehmen alkali.io. Sinn und Zweck von Kalium ist es, asynchrone Interaktionen zwischen Microservices einfacher zu machen.

Kalium verwendet @On-Annotationen, um Out-Of-The-Box-Serializer bzw. -De-Serializer für die Event-Klassen zu definieren. Basierend auf der zugrundeliegenden Queue werden die in den @On-Annotationen definierten Bedingungen für den Queue-Listener übersetzt.

In Kalium kommt bereits existierende Technologie zum Einsatz, um einen skalierbaren Event-Bus zu erhalten. Bei dieser Technologie handelt es sich um Apache Kafka, ohne das Kalium momentan nicht genutzt werden kann. Derzeit ist somit Java die einzige vom Framework unterstützte Sprache. Für zukünftige Versionen sind Implementierungen für andere Sprachen, als Beispiele werden in der Projektvorstellung JavaScript und Python erwähnt, vorgesehen. Die Verwendbarkeit von Kalium mit AWS Kinesis gehört ebenfalls zu den Plänen für zukünftige Kalium-Releases.

Wie wird Kalium verwendet?

Kalium kann über Maven oder Gradle zu einem Projekt hinzugefügt werden. Die Maven-Group-ID des Projekts ist io.alkal, seine Artifact-ID lautet kalium-kafka. Daraus ergibt sich der nachfolgende, auch im entsprechenden Repository auf GitHub enthaltene Code, mit dem das Framework unter Verwendung von Maven zu einem Projekt hinzugefügt werden kann:

<dependency>
  <groupId>io.alkal</groupId>
  <artifactId>kalium-kafka</artifactId>
  <version>0.0.1</version>
</dependency>

Um Kalium über Gradle zu einem Projekt hinzuzufügen steht in besagtem Repository folgender Code bereit:

dependencies {
  compile 'io.alkal:kalium-kafka:0.0.1'
}

Nähere Informationen finden sich auf der Projekt-Website von Kalium sowie im entsprechenden GitHub-Repository.

Geschrieben von
Florian Roos
Florian Roos
Florian Roos ist Redakteur für Software & Support Media. Er hat Politikwissenschaft an der Technischen Universität Darmstadt studiert und erste redaktionelle Erfahrungen in den Bereichen Games und Consumer-Hardware gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: