ホームページ  >  記事  >  運用・保守  >  Kafka と Nginx を統合する方法

Kafka と Nginx を統合する方法

王林
王林転載
2023-05-21 12:07:062188ブラウズ

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 クラスターを開始します (トピックの作成)

Kafka と Nginx を統合する方法

zkserver.sh start
kafka-server-start.sh -daemon config/server.properties

8. nginx を開始し、エラーを報告します。ファイル kafka.so.1 が見つかりません

Kafka と Nginx を統合する方法

共有ライブラリのロード中にエラーが発生しました: 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 サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。