Background
nginx-kafka-module est un plug-in pour nginx. Il peut intégrer kafka dans nginx pour faciliter la collecte de données de points enterrés de la page frontale dans les projets Web. Si la page frontale a défini des points enterrés, certaines des visites de l'utilisateur peuvent être Et les données de la demande sont envoyées directement au middleware de messages kafka via une requête http. Le backend peut consommer les messages dans kafka via le programme pour effectuer des calculs en temps réel. Par exemple, sparkstream est utilisé pour consommer des données dans Kafka en temps réel pour analyser le pv, l'uv, certains comportements des utilisateurs et le taux de conversion du modèle d'entonnoir de la page, afin de mieux optimiser le système ou d'effectuer une analyse dynamique en temps réel des visites. utilisateurs.
Étapes d'intégration spécifiques
1. Installez git
yum install -y git
2. Basculez vers le répertoire /usr/local/src, puis clonez le code source du client c de kafka localement
cd /usr/local/src git clone https://github.com/edenhill/librdkafka
3. Entrez librdkafka, puis procédez à la compilation.
cd librdkafka yum install -y gcc gcc-c++ pcre-devel zlib-devel ./configure make && make install
4. Installez le plug-in kafka d'intégration nginx, accédez à /usr/local/src, clonez le code source de l'intégration nginx kafka
cd /usr/local/src git clone https://github.com/brg-liuwei/ngx_kafka_module
5. Entrez le répertoire du package de code source nginx (compilez nginx, et puis mettez les plug-ins sont compilés en même temps)
cd /usr/local/src/nginx-1.12.2 ./configure --add-module=/usr/local/src/ngx_kafka_module/ make && make install
6 Modifiez le fichier de configuration nginx : définissez un emplacement et un sujet kafaka
#添加配置(2处) kafka; kafka_broker_list f1:9092 f2:9092 f3:9092; location = /kafka/access { kafka_topic access888; }
comme indiqué ci-dessous :
7. et clusters kafka (créer un sujet)
zkserver.sh start kafka-server-start.sh -daemon config/server.properties
8. Démarrez nginx et signalez une erreur indiquant que le fichier kafka.so.1 est introuvable
erreur lors du chargement des bibliothèques partagées : librdkafka.so.1 : impossible d'ouvrir l'objet partagé. fichier : aucun fichier ou répertoire de ce type
9. Chargez la bibliothèque so
#开机加载/usr/local/lib下面的库 echo "/usr/local/lib" >> /etc/ld.so.conf #手动加载 ldconfig
10 Testez, écrivez les données sur nginx, puis observez si le consommateur kafka peut consommer les données
curl http://localhost/kafka/access -d "message send to kafka topic" curl http://localhost/kafka/access -d "小伟666"测试
Vous pouvez également simuler le page enterrée interface de demande pour envoyer des informations :
Les informations de consommation de kafka en arrière-plan sont telles qu'indiquées sur la figure :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!