"Messaging" - Referat

Was versteht man darunter?

Messaging bezeichnet den Austausch von Nachrichten zwischen Systemen oder Anwendungen.
Fokus auf:

  • Publish-Subscribe (Pub/Sub): Mehrere Empfänger können Nachrichten von einem Publisher abonnieren.

Point-to-Point (REST)

rest2

MQTT

mqttnew

Kafka

kafka2

Unterschiede

Feature

Mosquitto (MQTT)

Kafka

Protokoll

Leichtgewichtiges Pub/Sub-Protokoll

Verteiltes Streaming-Protokoll

Einsatzbereich

IoT, ressourcenarme Geräte, industrielle Anlagen (Ölrohrleitungen)

Große Datenströme, Datenanalyse (Netflix/Spotify: Logs)

Nachrichtenhaltung

Kurzfristig, bis zugestellt

Langfristig, Speicherung auf Server

Zuverlässigkeit

Qos

Acks

Verfügbarkeit

Hohe Verfügbarkeit durch Broker

Hohe Verfügbarkeit und Skalierbarkeit (Zookeeper)

Andere

  • RabbitMQ (AMQP): Zuverlässige Messaging-Protokolle für Unternehmensanwendungen.

  • ZeroMQ (ZMTP): Hochperformantes Messaging-Framework.

Mosquitto Alternativen

HiveMQ

  • Nachteil: wenige Optionen zum Individualisieren

    • Kein Ändern des Benutzernamen und Passwortes

    • Keine Verschlüsselung

Channels

channels

Live Demo

W-Fragen

Das kann ich mir nicht vorstellen!

Qos:

  • QoS 0: maximal einmal

  • QoS 1: mindestens einmal

  • QoS 2: genau einmal

QoS 0

qos0

QoS 1

qos1

QoS 2

qos2

Ack:

  • Ack 0: nur senden

  • Ack 1: leader acknowledgment

  • Ack all: replica acknowledgment

Acks

kafkaAckOwn

Wo läuft den des!

Beim Starten von der Kafka App

INFO  [io.qua.kaf.cli.dep.DevServicesKafkaProcessor] (build-7)
Dev Services for Kafka started.
Other Quarkus applications in dev mode will find the broker automatically.
For Quarkus applications in production mode, you can connect to this by starting your application with
-Dkafka.bootstrap.servers=OUTSIDE://localhost:32773

Beim Starten von der Kafka App

brokerInDocker