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 Analyse der Verwendung von Rahmen- und Anzeigeattributen in CSS

Einführung in Rahmeneigenschaften border -Eigensc...

ReactRouter-Implementierung

ReactRouter-Implementierung ReactRouter ist die K...

Die HTML-Tag-ID kann eine Variable sein

<table id=" <%=var1%>">, der...

10 HTML-Tabellen-bezogene Tags

Tatsächlich werden viele Leute sagen: „Ich habe ge...

Linux wird geladen, vmlinux wird debuggt

Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...

Detaillierte Erläuterung des adaptiven Anpassungsproblems des Vue-Mobilterminals

1. Erstellen Sie ein Projekt mit Vue UI 2. Wählen...

6 Vererbungsmethoden von JS Advanced ES6

Inhaltsverzeichnis 1. Vererbung der Prototypkette...

Implementierung einer Fuzzy-Abfrage wie %% in MySQL

1, %, steht für beliebige 0 oder mehr Zeichen. Es...

Details zur Datenanzeige der Vue3-Listenschnittstelle

Inhaltsverzeichnis 1. Beispiel für die Anzeige de...

Einführung, Installation und Verwendung von Hyper-V (detaillierte Abbildungen)

Vorwort: Als Gigant in der IT-Branche ist Microso...

Eine kurze Diskussion zum Thema Ziehen und Sortieren von Elementen in Tabellen

In letzter Zeit stoße ich bei der Verwendung von ...

Vue-Entwicklungsbaumstrukturkomponenten (Komponentenrekursion)

In diesem Artikelbeispiel wird der spezifische Co...