Beispiel für die Integration von Kafka mit Nginx

Beispiel für die Integration von Kafka mit Nginx

Hintergrund

nginx-kafka-module ist ein Plug-In für nginx, das Kafka in nginx integrieren kann, um das Sammeln von Daten von Front-End-Seiten in Webprojekten zu erleichtern. Wenn Daten auf der Front-End-Seite eingebettet sind, können einige Benutzerzugriffs- und Anforderungsdaten über HTTP-Anfragen direkt an die Nachrichten-Middleware Kafka gesendet werden. Das Backend kann Nachrichten in Kafka über Programme nutzen, um Echtzeitberechnungen durchzuführen. Beispielsweise kann SparkStream verwendet werden, um Daten in Kafka in Echtzeit zu nutzen, um Benutzer-PV, UV, einige Benutzerverhalten und die Trichtermodell-Konvertierungsrate der Seite zu analysieren, um das System besser zu optimieren oder eine dynamische Echtzeitanalyse der besuchenden Benutzer durchzuführen.

Spezifische Integrationsschritte

1. Installieren Sie git

yum install -y git

2. Wechseln Sie in das Verzeichnis /usr/local/src und klonen Sie den Kafka C-Client-Quellcode in das lokale

cd /usr/local/src
Git-Klon https://github.com/edenhill/librdkafka

3. Geben Sie librdkafka ein und kompilieren Sie

CD-Bibliothek Kafka
yum install -y gcc gcc-c++ pcre-devel zlib-devel
./konfigurieren
machen && machen installieren

4. Installieren Sie das in Nginx integrierte Kafka-Plugin, geben Sie /usr/local/src ein und klonen Sie den in Nginx integrierten Kafka-Quellcode

cd /usr/local/src
Git-Klon https://github.com/brg-liuwei/ngx_kafka_module

5. Rufen Sie das Nginx-Quellpaketverzeichnis auf (kompilieren Sie Nginx und kompilieren Sie gleichzeitig das Plug-In).

cd /usr/local/src/nginx-1.12.2
./configure --add-module=/usr/local/src/ngx_kafka_module/
machen && machen installieren

6. Ändern Sie die Nginx-Konfigurationsdatei: Legen Sie einen Speicherort und ein Kafka-Thema fest. Weitere Informationen finden Sie in nginx.conf im aktuellen Verzeichnis.

#Konfiguration hinzufügen (2 Stellen)
Kafka;
kafka_broker_list f1:9092 f2:9092 f3:9092;

Standort = /kafka/Zugriff {
kafka_topic Zugriff888;
}

Wie unten dargestellt:

7. Starten Sie ZK- und Kafka-Cluster (erstellen Sie Themen)

zkServer.sh starten
kafka-server-start.sh -daemon config/server.properties

8. Starten Sie nginx, melden Sie einen Fehler und können Sie die Datei kafka.so.1 nicht finden

Fehler beim Laden gemeinsam genutzter Bibliotheken: librdkafka.so.1: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

9. Laden Sie die so-Bibliothek

#Laden Sie die Bibliothek beim Booten unter /usr/local/lib echo "/usr/local/lib" >> /etc/ld.so.conf
#ldconfig manuell laden

10. Testen Sie, schreiben Sie Daten in Nginx und beobachten Sie dann, ob Kafka-Verbraucher die Daten nutzen können

curl http://localhost/kafka/access -d "Nachricht an Kafka-Thema senden"
curl http://localhost/kafka/access -d "Xiaowei666" test

Sie können zum Senden von Informationen auch die Anforderungsschnittstelle zum Einbetten der Seite simulieren:

Die Hintergrundinformationen zum Kafka-Verbrauch lauten wie folgt:

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Spring Boot WebSocket-Integration und Nginx-Konfiguration
  • So installieren und konfigurieren Sie FastDFS und integrieren es in Nginx-1.13.3
  • Detaillierte Erläuterung der Installation und Konfiguration der Nginx + Tomcat-Integration unter Linux
  • Detaillierte Erläuterung des Integrationsprozesses von centos6.4+nginx+mysql+php+phpmyadmin
  • So integrieren Sie Redmine und SVN in Nginx unter Linux

<<:  js zur Implementierung einer Interferenz mit Verifizierungscodes (statisch)

>>:  js zur Implementierung einer Überprüfungscode-Interferenz (dynamisch)

Artikel empfehlen

Eine kurze Diskussion über die häufig verwendeten APIs der VUE uni-app

Inhaltsverzeichnis 1. Routing und Seitensprung 2....

HTML-Lernhinweise – Detaillierte Erklärung der HTML-Syntax (unbedingt lesen)

1. Was ist die HTML-Auszeichnungssprache? HTML is...

Lösung für den Fehler beim Kompilieren des LVGL-Emulators unter Linux

Inhaltsverzeichnis 1. Fehlerphänomen 2. Fehlerana...

Berechtigungen für Cross-Origin-Image-Ressourcen (CORS-fähiges Image)

Das HTML-Spezifikationsdokument führt das Crossor...

Unterschiede und Vergleiche von Speicher-Engines in MySQL

MyISAM-Speicher-Engine MyISAM basiert auf der ISA...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

Unabhängige Implementierung der Nginx-Containerkonfigurationsdatei

Erstellen eines Containers [root@server1 ~]# dock...

Natives JavaScript zur Implementierung einer zufälligen Namensaufruftabelle

In diesem Artikelbeispiel wird der spezifische Co...

Lehr- oder Lernprogramm für Webdesign

Abschnitt Studieninhalte Std 1 Webdesign-Übersich...

Zwei Möglichkeiten zum Beenden von Bash im Docker-Container unter Linux

Wenn Sie Bash beenden möchten, haben Sie zwei Mög...