Technologieaustausch

EIK Filebeat Kafka

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Einführung in Kafka

1. Kafka-Definition

Kafka ist eine verteilte Nachrichtenwarteschlange (MQ, Message Queue), die auf dem Publish/Subscribe-Modell basiert und hauptsächlich für die Echtzeitberechnung und Protokollerfassung im Bereich Big Data verwendet wird.

2. Einführung in Kafka

Kafka wurde ursprünglich von Linkedin entwickelt und ist ein verteiltes Nachrichten-Middleware-System, das von Zookeeper koordiniert wird. Sein größtes Merkmal besteht darin, dass es große Datenmengen in Echtzeit verarbeiten kann, z als Hadoop-basiertes Stapelverarbeitungssystem, Echtzeitsystem mit geringer Latenz, Spark/Flink-Streaming-Engine, Nginx-Zugriffsprotokoll, Nachrichtendienst usw., geschrieben in Scala-Sprache,
Linkedin wurde 2010 zur Apache Foundation beigetragen und wurde zu einem Top-Open-Source-Projekt.

3. Warum Sie Message Queuing (MQ) benötigen

Der Hauptgrund ist, dass in einer Umgebung mit hoher Parallelität Synchronisierungsanforderungen nicht rechtzeitig verarbeitet werden und Anforderungen häufig blockiert werden. Beispielsweise greift eine große Anzahl von Anforderungen gleichzeitig auf die Datenbank zu, was zu Zeilensperren und Tabellensperren führt. Schließlich werden sich zu viele Anforderungsthreads ansammeln, was zu viele Verbindungsfehler und einen Lawineneffekt auslöst.
Wir verwenden Nachrichtenwarteschlangen, um Anfragen asynchron zu bearbeiten und so den Druck auf das System zu verringern. Nachrichtenwarteschlangen werden häufig bei der asynchronen Verarbeitung, der Reduzierung von Verkehrsspitzen, der Anwendungsentkopplung, der Nachrichtenkommunikation und anderen Szenarien verwendet.

Derzeit gehören zu den gängigsten MQ-Middlewares ActiveMQ, RabbitMQ, RocketMQ, Kafka usw.

4. Vorteile der Verwendung von Nachrichtenwarteschlangen

(1) Entkopplung
Ermöglicht Ihnen, die Prozesse auf beiden Seiten unabhängig voneinander zu erweitern oder zu ändern, solange sie denselben Schnittstellenbeschränkungen entsprechen.

(2) Wiederherstellbarkeit
Wenn eine Komponente des Systems ausfällt, hat dies keine Auswirkungen auf das gesamte System. Die Nachrichtenwarteschlange reduziert die Kopplung zwischen Prozessen. Selbst wenn ein Prozess, der Nachrichten verarbeitet, hängen bleibt, können die zur Warteschlange hinzugefügten Nachrichten nach der Systemwiederherstellung weiterhin verarbeitet werden.

(3) Pufferung
Es hilft, die Geschwindigkeit des Datenflusses durch das System zu steuern und zu optimieren und das Problem der inkonsistenten Verarbeitungsgeschwindigkeiten von Produktionsnachrichten und Verbrauchernachrichten zu lösen.

(4) Flexibilität