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 Routenkonfiguration von Vue-Router

Inhaltsverzeichnis einführen Objektattribute in R...

Einigen Eigenschaften in CSS geht ein "*" oder "_" voraus.

Einigen Eigenschaften in CSS geht ein "*&quo...

Eine kurze Einführung in die Kernkenntnisse der VUE uni-app

Inhaltsverzeichnis Spezifikation a. Die Auslageru...

20 CSS-Codierungstipps für mehr Effizienz (sortiert)

In diesem Artikel möchten wir eine Sammlung von 2...

React-Implementierungsbeispiel mit Amap (react-amap)

Die PC-Version von React wurde für die Verwendung...

Detaillierte Erklärung des Rewrite-Moduls von Nginx

Das Umschreibmodul ist das Modul ngx_http_rewrite...

MySQL-FAQ-Serie: Wann werden temporäre Tabellen verwendet?

Einführung in temporäre Tabellen Was ist eine tem...

Tomcat Server Erste Schritte Super ausführliches Tutorial

Inhaltsverzeichnis 1. Einige Konzepte von Tomcat ...

Detaillierte Erläuterung der MySQL-Benutzervariablen und Set-Anweisungsbeispiele

Inhaltsverzeichnis 1 Einführung in Benutzervariab...

CentOS 7.5 stellt Varnish-Cache-Serverfunktion bereit

1. Einführung in Varnish Varnish ist ein leistung...

CSS+HTML zur Realisierung der Funktion der oberen Navigationsleiste

Implementierungseffektdiagramm für die Navigation...

Detaillierte Erklärung zur SQL-Injection - Sicherheit (Teil 2)

Sollte dieser Artikel Fehler enthalten oder du An...