Spring Boot と Kafka を実際に使ってみましょう。

Spring Boot と Kafka を実際に使ってみましょう。

Kafka クラスターのインストール、構成、起動

Kafka は Zookeeper に依存する必要があり、Zookeeper 自体を統合します。 Zookeeper では、クラスターの高可用性を確保するために少なくとも 3 つのノードが必要です。以下は、単一の Linux マシンで 3 つの Kafka ノードの疑似クラスター モードを作成する方法です。

1. パッケージをダウンロードする

ダウンロードアドレス: http://kafka.apache.org/downloads

2. パッケージを解凍する

  1. tar -zxvf kafka_2.11-1.0.0.tgz\mv kafka_2.11-1.0.0 kafka1\mv kafka_2.11-1.0.0 kafka2\mv kafka_2.11-1.0.0 kafka3

3. ZKクラスターを作成する

ZK 構成ファイル kafka1-3/config/zookeeper.properties を変更し、対応するパラメータをそれぞれ変更します。

  1. データディレクトリ=/usr/ローカル/kafka/zookeeper1
  2. dataLogDir=/usr/ local /kafka/zookeeper/log
  3. クライアントポート=2181
  4. 最大クライアント接続数=0
  5. ティックタイム=2000
  6. 初期制限=100
  7. 同期制限=5
  8. サーバー1=127.0.0.1:2888:3888
  9. サーバー2=127.0.0.1:4888:5888
  10. サーバー3=127.0.0.1:6888:7888

/usr/local/kafka/zookeeper1-3ディレクトリにそれぞれmyidファイルを作成し、内容は1〜3に対応します。

ZK を起動し、それぞれ Kafka1-3 ディレクトリに移動します。

  1. bin/zookeeper-server-start.sh config/zookeeper.properties &

起動レポート ファイルが失敗しました。ファイル ディレクトリを手動で作成し、対応する権限を付与する必要があります。

4. Kafka クラスターを作成する

設定ファイル: kafka1-3/config/server.properties、それぞれ対応するパラメータを変更します。

  1. ブローカーID=1
  2. zookeeper.connect = ローカルホスト:2181、ローカルホスト:2182、ローカルホスト:2183
  3. リスナー=プレーンテキスト://192.168.12.11:9091
  4. log.dirs=/tmp/kafka-logs-1

Kafka を起動し、それぞれ Kafka1-3 ディレクトリに移動します。

  1. bin/kafka-server-start.sh config/server.properties &

起動レポート ファイルが失敗しました。ファイル ディレクトリを手動で作成し、対応する権限を付与する必要があります。

5. クラスターテスト

kafka1 にメッセージを送信:

  1. bin/kafka-console-producer.sh --broker-list localhost:9091 --topic テスト 

kafka2 および kafka3 でメッセージを消費します。

  1. bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic 私のレプリケートされたトピック 

Spring Boot 統合 Kafka プラクティス

1. spring-kafka依存関係を追加する

  1. <spring-kafka.version>2.1.0.RELEASE</spring-kafka.version>
  2.  
  3. <! --スプリングカフカ-->  
  4. <依存関係>
  5. <groupId>org.springframework.kafka</groupId>
  6. <artifactId>スプリングカフカ</artifactId>
  7. <バージョン>${spring-kafka.version}</バージョン>
  8. </依存関係>

2. Spring Bootの自動構成を追加する

自動構成クラス:

  • org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration

構成プロパティクラス:

  • org.springframework.boot.autoconfigure.kafka.Kafkaプロパティ
  1. 春:
  2. カフカ:
  3. ブートストラップサーバー:
  4. - 192.168.101.137:9091
  5. - 192.168.101.137:9092
  6. - 192.168.101.137:9093
  7. プロデューサー:
  8. 再試行: 0
  9. バッチサイズ: 16384
  10. バッファメモリ: 33554432
  11. キー-serializer: org.apache.kafka.common.serialization.StringSerializer
  12. 値シリアライザー: org.apache.kafka.common.serialization.StringSerializer
  13. 消費者:
  14. グループID: foo
  15. 自動オフセットリセット: 最も早い
  16. 自動コミットを有効にする: true  
  17. 自動コミット間隔: 100
  18. キー-deserializer: org.apache.kafka.common.serialization.StringDeserializer
  19. 値デシリアライザー: org.apache.kafka.common.serialization.StringDeserializer

3. メッセージを送信する

  1. オートワイヤード
  2. プライベート KafkaTemplate kafkaTemplate;
  3.  
  4. @GetMapping( "/送信" )
  5. パブリックオブジェクト送信(文字列メッセージ) {
  6. kafkaTemplate.send( "テスト" , "名前" , msg);
  7. 戻る  「送信OK」 ;
  8. }

4. メッセージを受信する

任意の Bean で、メッセージの受信をサポートするために @KafkaListener を追加します。

  1. @KafkaListener(トピック = "テスト" )
  2. パブリックvoid processMessage(文字列コンテンツ) {
  3. logger.info( "受信したメッセージ、トピック:テスト、メッセージ:{}" 、コンテンツ);
  4. }

<<:  クラウドデスクトップ時代の新しい標準、デュアルエンジン

>>:  GoogleはAWSをサポートするAnthosのメジャーアップデートでマルチクラウドの約束を果たした。

推薦する

Pacificrack: 米国クラスター VPS、32 C セグメント、無料スナップショット + フルバックアップ、月額 4 ドルから

Pacificrack は、まったく新しい「サイト クラスター VPS」を導入しました。これは、デフ...

分類情報ウェブサイトを最適化するための3つのヒント

機密情報ネットワークはGanji.comや58.comなどの超大規模ウェブサイトによって独占されてい...

マルチクラウドは止められない。企業はどのようにして最新のデータ保護に備えることができるでしょうか?

AI アプリケーションからネットワーク通信、インテリジェントな運用から迅速な意思決定まで、データは企...

VMware Li Ying: 従来のデータセンターの限界を打ち破り、企業のデジタル変革を促進

[51CTO.com からのオリジナル記事] クラウド環境では、企業はビジネスの急速な発展に対応でき...

オンライン広告チャネルは数多くありますが、自分に合ったプラットフォームをどのように選択すればよいのでしょうか?

はじめに:この記事を読んだ友人の中には、わかりにくいと感じる人もいるかもしれませんが、困難を感じてこ...

業界ウェブサイト構築の外部リンクレイアウト

先日、A5版の「業界ウェブサイト構築のキーワードレイアウト」と「業界ウェブサイト構築のファイル保存レ...

国家郵政局は、速達配達ライセンス会社の第1陣を発表した。

昨日、我が新聞は、国家郵政局が2012年の速達事業運営許可年次報告書を審査し、規定に適合していると判...

リアルタイムのオーディオとビデオによるソーシャルインタラクションは、ゲーム業界の発展に新たな変数を生み出します。

近年、オンラインライブストリーミングの台頭により、リアルタイムのオーディオとビデオのソーシャルネット...

PacificRackはどうですか? Pacificrack の 30% オフ VPS の簡単なレビュー

PacificRack が HostCat の公式カスタマイズ版を 30% オフで提供するプロモーシ...

ウェブサイトによってSEOの考え方は異なる

SEO の考え方については誰もが知っていますが、実際に優れた SEO の考え方を持っている人は多くあ...

VMware が Gartner の統合エンドポイント管理マジック クアドラントで 5 年連続リーダーに選出

VMware (NYSE: VMW) は、ガートナー社の 2022 年統合エンドポイント管理 (UE...

インフレ圧力に対抗する手段としてのクラウドコスト最適化

世界中でインフレが発生する中、企業は最適化策を通じてクラウド コンピューティングのコストをどのように...

20 を超える Kubernetes クラスターと 400 台のマシンを管理する秘訣は何ですか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

検索最適化 ウェブサイト最適化でしてはいけない9つのことに注目

コアヒント: ウェブサイトのトラフィックのほとんどは検索エンジンから来ていますが、すべてではないにし...

Weibo プロモーションが SEO 最適化に適しているのはなぜですか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスSEO担当者として、ウェ...