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

Detaillierte Erklärung der MySQL information_schema-Datenbank

1. Übersicht Die Datenbank information_schema ist...

Mehrere Szenarien für die Verwendung des Nginx Rewrite-Moduls

Anwendungsszenario 1: Domänennamenbasierte Umleit...

Detaillierte Erklärung zur Verwendung von MySQL mysqldump

1. Einführung in mysqldump mysqldump ist ein logi...

So installieren Sie Docker auf Ubuntu20.04 LTS

Null: Alte Version deinstallieren Ältere Versione...

Implementierung der Docker-Bereitstellung von Tomcat- und Webanwendungen

1. Docker online herunterladen yum install -y epe...

Detaillierte Erläuterung der MySQL sql_mode-Abfrage und -Einstellung

1. Führen Sie SQL aus, um anzuzeigen wählen Sie @...

Verwenden von Zabbix zum Überwachen des Ogg-Prozesses (Linux-Plattform)

Der Ogg-Prozess einer vor einiger Zeit erstellten...

js zur Realisierung des Mausverfolgungsspiels

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erläuterung der Deep Copy und Shallow Copy im JS-Variablenspeicher

Inhaltsverzeichnis Variabler Typ und Speicherplat...

Mysql Sql-Anweisungsübungen (50 Fragen)

Tabellenname und Felder –1. Studentenliste Studen...

Vue Router lädt verschiedene Komponenten je nach Hintergrunddaten

Inhaltsverzeichnis Anforderungen aus der Projektp...

Implementierungsschritte zum Erstellen eines FastDFS-Dateiservers unter Linux

Inhaltsverzeichnis 1. Softwarepaket 2. Installier...