Background
nginx-kafka-module は nginx のプラグインです。kafka を nginx に統合して、Web プロジェクトのフロントエンド ページに埋め込まれたポイント データの収集を容易にすることができます。ページには埋め込みポイントが設定されています。つまり、ユーザーのアクセス データとリクエスト データの一部は、http リクエストを通じてメッセージ ミドルウェア kafka に直接送信できます。バックエンドは、プログラムを通じて kafka 内のメッセージを消費して、リアルタイムの計算を実行できます。たとえば、sparkstream を使用して、Kafka のデータをリアルタイムで消費して、ユーザーの pv、uv、一部のユーザー行動、ページのファネル モデルのコンバージョン率を分析し、システムを最適化したり、訪問者のリアルタイムの動的分析を実行したりできます。ユーザー。
具体的な統合手順
1. git
yum install -y git
をインストールします2. /usr/local/src ディレクトリに切り替えて、kafka c クライアント ソースのクローンを作成しますコード local
cd /usr/local/src git clone https://github.com/edenhill/librdkafka
3 に移動します。librdkafka と入力してコンパイルします
cd librdkafka yum install -y gcc gcc-c++ pcre-devel zlib-devel ./configure make && make install
4. nginx 統合 Kafka プラグインをインストールし、/usr/local/src と入力します, clone nginx は kafka
cd /usr/local/src git clone https://github.com/brg-liuwei/ngx_kafka_module
5 のソース コードを統合します。nginx ソース パッケージ ディレクトリを入力します (nginx をコンパイルし、同時にプラグインもコンパイルします)
cd /usr/local/src/nginx-1.12.2 ./configure --add-module=/usr/local/src/ngx_kafka_module/ make && make install
6. nginx 設定ファイルを変更する: 以下に示すように、場所と kafaka トピック
#添加配置(2处) kafka; kafka_broker_list f1:9092 f2:9092 f3:9092; location = /kafka/access { kafka_topic access888; }
を設定します。
#7. zk クラスターと kafka クラスターを開始します (トピックの作成)zkserver.sh start kafka-server-start.sh -daemon config/server.properties8. nginx を開始し、エラーを報告します。ファイル kafka.so.1 が見つかりません
共有ライブラリのロード中にエラーが発生しました: librdkafka.so.1: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
##9. ライブラリをロードしています
#开机加载/usr/local/lib下面的库 echo "/usr/local/lib" >> /etc/ld.so.conf #手动加载 ldconfig
10. テストして nginx にデータを書き込み、kafka コンシューマーがデータを消費できるかどうかを観察します
curl http://localhost/kafka/access -d "message send to kafka topic" curl http://localhost/kafka/access -d "小伟666"测试ページ埋め込みリクエスト インターフェイスをシミュレートして情報を送信することもできます:
バックグラウンドの Kafka 消費情報は次の図に示されています:
以上がKafka と Nginx を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。