背景 nginx-kafka-module は、Kafka を nginx に統合して、Web プロジェクトのフロントエンド ページからのデータ収集を容易にする nginx 用プラグインです。データがフロントエンド ページに埋め込まれている場合、一部のユーザー アクセスおよびリクエスト データは、http リクエストを通じてメッセージ ミドルウェア Kafka に直接送信できます。バックエンドは、プログラムを通じて Kafka 内のメッセージを消費し、リアルタイム計算を実行できます。たとえば、SparkStream を使用すると、Kafka 内のデータをリアルタイムで消費し、ユーザーの PV、UV、一部のユーザー行動、ページのファネル モデルの変換率を分析して、システムをより最適化したり、訪問ユーザーのリアルタイムの動的分析を実行したりできます。 具体的な統合手順 1. gitをインストールする yum インストール -y git 2. /usr/local/srcディレクトリに切り替えて、Kafka Cクライアントのソースコードをローカルにクローンします。 /usr/local/src をコピーします git クローン https://github.com/edenhill/librdkafka 3. librdkafkaを入力してコンパイルする cd librdkafka yum インストール -y gcc gcc-c++ pcre-devel zlib-devel ./configure 作成 && インストール 4. nginx統合kafkaプラグインをインストールし、/usr/local/srcに入り、nginx統合kafkaソースコードをクローンします。 /usr/local/src をコピーします Git クローン https://github.com/brg-liuwei/ngx_kafka_module 5. nginxソースパッケージディレクトリに入る(nginxをコンパイルし、同時にプラグインをコンパイルする) /usr/local/src/nginx-1.12.2 をコピーします ./configure --add-module=/usr/local/src/ngx_kafka_module/ 作成 && インストール 6. nginx設定ファイルを変更します。場所とkafkaトピックを設定します。詳細については、現在のディレクトリのnginx.confを参照してください。 #設定を追加(2箇所) カフカ; kafka_broker_list f1:9092 f2:9092 f3:9092; 場所 = /kafka/access { kafka_topic アクセス888; } 以下のように表示されます。 7. zk および kafka クラスターを起動する (トピックを作成する) zkServer.sh 開始 kafka-server-start.sh -daemon config/server.properties 8. nginxを起動し、エラーを報告し、kafka.so.1ファイルが見つからない
9. soライブラリをロードする #起動時に /usr/local/lib 下のライブラリをロードします echo "/usr/local/lib" >> /etc/ld.so.conf #ldconfigを手動でロードする 10. テストを行い、データを nginx に書き込み、Kafka コンシューマーがデータを消費できるかどうかを観察します。 curl http://localhost/kafka/access -d "メッセージをkafkaトピックに送信" curl http://localhost/kafka/access -d "Xiaowei666" テスト 情報を送信するためのページ埋め込みリクエスト インターフェースをシミュレートすることもできます。 バックグラウンドの Kafka 消費情報は次のとおりです。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
0. リモート開発が必要な理由組み込み Linux を開発する場合、便宜上、通常は Windows ...
目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...
I. はじめにDockerテクノロジーは現在非常に人気があります。コンテナを介してプロジェクト環境を...
この記事の例では、カスタムドロップダウンボックスを実装するためのjsの具体的なコードを参考までに共有...
現実世界では、鍵は外の世界から身を隠したいときに使用するツールです。コンピュータでは、複数のプロセス...
1. app.jsonを使用してページを作成する私たちの通常の開発習慣によれば、新しいページを作成す...
序文MySQL の権限テーブルは、データベースの起動時にメモリにロードされます。ユーザーが ID 認...
1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...
1. 前提条件インポートには require.context メソッドを使用します。vite で作成...
目次スプレッド演算子を使用してプロパティを渡すのは避けてください関数パラメータをオブジェクトにカプセ...
1. Dockerをインストールするまず Linux 環境を開き、次のコマンドを入力してインストール...
関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...
以下のように表示されます。 CSSコードコンテンツをクリップボードにコピー分割{境界線: 2px 固...