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で配列の変更を検出できない理由と解決策

推薦する

有名なブログの再設計例 28 件

1. Webデザイナーウォール 2. Veerleのブログ 3. チュートリアル9 4. UXブース...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

MySQL で結合を使用して SQL を最適化する方法の詳細な説明

0. 以下のテストに関連する表を準備する関連するテーブル作成ステートメントについては、https:/...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

Vue3の一般的なAPIの使用方法の紹介

目次ライフサイクルの変化反応的な参照vue2.x では ref を使用して要素タグを取得します。vu...

便利でシンプルなMySQL関数10個

関数0. 現在の時刻を表示するコマンド: select now()。機能: 現在の時刻を表示します。...

フレックスレイアウトは左のテキストオーバーフローを実現し、右のテキストの適応を省略します

テキストの長さに応じて、左側のテキストの幅を自動調整できる状況を実現したい。1行が表示できない場合、...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

MySQLクエリプランでken_lenの値を計算する方法

key_lenの意味MySQL では、次に示すように、explain を使用して SQL ステートメ...

Vue の vue.$set() メソッドのソースコード例の詳細な説明

Vue を使用してプロジェクトを開発する過程で、次のような問題によく遭遇します。Vue のデータでオ...

Linux でファイアウォールがオフになっているかどうかを確認する方法

1. サービス方法ファイアウォールのステータスを確認します。 [root@centos6 ~]# サ...

WeChatアプレットは写真の撮影とアルバムからの写真の選択を実現します

この記事では、WeChatアプレットで写真を撮ったり、アルバムから写真を選択したりするための具体的な...

さまざまな MySQL テーブルソートルールのエラーの分析

MySQL が複数のテーブルを結合するときに、次のエラーが報告されます: [Err]1267 – 操...

Vue プロジェクトで TypeScript クラスを適用する方法

目次1. はじめに2. 使用1. @コンポーネント2. 計算、データ、方法3. @props 4. ...

Keras を使って SQL インジェクション攻撃を判断する (例の説明)

この記事では、ディープラーニングフレームワーク keras を使用して、SQL インジェクションの特...