Kafka の Docker デプロイメントと Spring Kafka 実装

Kafka の Docker デプロイメントと Spring Kafka 実装

この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介します。この記事のサンプルコードは非常に詳細で、皆さんの勉強や仕事に一定の参考値があります。困っている友人は参考にしてください。

https://hub.docker.com/ から kafka を見つけます

3 番目はアクティブで、星の数が多くなっています。中に入って使い方を確認してください。

イメージの構築にはdocker-composeを使用します

ドキュメントのdocker-compose.ymlファイルを参照してください。

KafkaはZookeeperと一緒に使用されるため、このドキュメントにはZookeeperも含まれています。

バージョン番号と変数パラメータを変更しました

これら 2 つのパラメータは外部ネットワーク アクセスに公開されているようです (他のブログから見つかった答えは、Spring Kafka が設定されていない場合は接続できないということです)

2 つのコンテナを起動するには、コマンド docker-compose up -d を実行します。

Kafka コンテナに入り、公式ウェブサイトのガイドを使用してテストします http://kafka.apache.org/quickstart

docker exec -it {コンテナIDと名前} /bin/bash

コンテナに入ったら、コマンドディレクトリcd /opt/kafka/bin/を入力します。

ステップ1: 新しいトピックを作成する

kafka-topics.sh --create --bootstrap-server 192.168.17.165:9092 --replication-factor 1 --partitions 1 --topic mytest (localhost を自分の IP 番号に変更します)

ステップ 2: 情報を送信します: kafka-console-producer.sh --broker-list 192.168.17.165:9092 --topic mytest

ステップ 3: 情報を取得するために別のウィンドウを開きます: kafka-console-consumer.sh --bootstrap-server 192.168.17.165:9092 --topic mytest --from-beginning

ビルドが成功したことを意味します。

Spring Kafkaの構築を開始する

ドキュメント:

プロデューサー構成を設定します。

コンシューマー構成を構成する

関連する構成は、Spring の公式 Web サイトの kafka ドキュメントから取得されます: https://docs.spring.io/spring-kafka/docs/2.3.1.RELEASE/reference/html/

コントローラリクエストを作成した後に情報を送信する

リスナーを構成します。

@KafkaListener アノテーションを使用します。ドキュメントには関連する手順が記載されているので、一つ一つ説明することはしません。

プロジェクトを実行し、ログを表示するための URL を要求します。

設定は成功しました。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Spring Boot クラスタ管理ツール KafkaAdminClient の使い方の分析
  • Spring Boot 統合 Kafka プロセス分析
  • Spring Pure Java 構成に統合された Kafka コード例
  • Spring Kafka の Kafka 構成パラメータの詳細な説明
  • Springboot と Kafka を統合してプロデューサーとコンシューマーを実装するためのサンプル コード
  • Kafka と Spring Boot を統合するためのサンプル コード
  • Kafka+Storm を Spring Boot と統合するためのサンプル コード
  • Springboot 1.5.7 統合 Kafka クライアント コード例

<<:  Ubuntu での mysql のインストールと使用 (一般版)

>>:  Vue2で配列の変更を検出できない理由と解決策

推薦する

MySQL 文字列分割操作 (区切り文字を含む文字列のインターセプション)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

Linux における「/」と「~」の違いの詳細な説明

「/」はルートディレクトリ、「~」はホームディレクトリです。 Linux ストレージはツリー状にマウ...

Vue-router ネストルーティングの詳細な説明

目次ステップ1. ルーティング ルールを設定し、子構成項目を使用します。 2. ジャンプ(フルパスを...

el-table ヘッダーでテキストを折り返す 3 つの方法の詳細な説明

目次問題の説明レンダリング3種類のコード要約する問題の説明通常、表のヘッダーは折り返されませんが、ビ...

CSS における @ の使用法の概要 (例と説明付き)

@ ルールは、CSS の実行または動作に関する指示を提供する宣言です。各宣言は @ で始まり、その...

K8Sの高度な機能を理解するための記事

目次K8Sの高度な機能高度な機能要約するkubectl サービスの問題のトラブルシューティングK8S...

RabbitMQ の Docker インストールと設定手順

目次単一マシンの展開オンラインプルミラーを見るRabbitMQを作成して実行するMQコンテナを正常に...

MySQL オンラインリカバリ UNDO テーブルスペース 実戦記録

1 MySQL5.6 1.1 関連パラメータMySQL 5.6 では、innodb_undo_dir...

MySQL 5.7 でブロックポジショニング DDL の問題を解決する

前回の記事「MySQL テーブル構造の変更、メタデータ ロックを知っておく必要があります」では、MD...

高さ:100% が機能しないのはなぜですか?

高さ:100% が機能しないのはなぜですか?この知識は不人気ではありませんが、使用する際には混乱する...

Vue シンプル登録ページ + 確認コード送信機能の実装例

目次1. エフェクト表示2. 検証コードとメールプッシュ管理の強化(後述のブログを参照) 3. 一般...

流れと動的なライン効果を実現する純粋なCSSコード

アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...

MySQL フルテキスト インデックス、ジョイント インデックス、Like クエリ、JSON クエリのうち、どれが高速ですか?

目次クエリの背景1. クエリをいいね2. JSON関数クエリ3. 共同インデックスクエリ4. 全文イ...

MySQL での replace と replace into の使い方の説明

MySQL の replace と replace into はどちらも頻繁に使用される関数です。r...

MySQL トランザクション自動コミット自動コミット操作

MySQL のデフォルトの動作モードは自動コミット モードです。つまり、明示的にトランザクションを開...