Apache Kafka 2.5安定バージョンがリリースされ、新機能が最初に表示されます

Apache Kafka 2.5安定バージョンがリリースされ、新機能が最初に表示されます

過去のメモリビッグデータ過去のメモリビッグデータ
ApacheKafka 2.5.0安定版は、米国の現地時間である2020年4月15日に正式にリリースされました。このバージョンには、一連の重要な機能リリースが含まれています。より重要な機能は次のとおりです。

•TLS1.3のサポート(現在はデフォルトで1.2が使用されています)
•Kafka Streams DSLはコグループを
サポートします; •KafkaConsumerはインクリメンタルリバランス(インクリメンタルリバランス)をサポートします
•オペレーターの操作をよりよく理解するために、新しいインジケーターが導入されました;
•Apache Zookeeperが3.5.7にアップグレードされました•Scala2.11は
サポートされなくなりました
•KIP-500は新たな進歩を遂げました。
Apache Kafka 2.5.0の最新バージョンをダウンロードする必要がある場合は、ここからダウンロードできます。時間とスペースの関係で、次の記事では、今回のより重要な機能と開発について説明します。

Kafkaブローカー、プロデューサー、およびコンシューマーの更新

KIP-500は新たな進歩を遂げました

Kafkaを使用したことのあるユーザーは、Kafkaのブローカー、トピック、およびパーティション関連の情報がApache Zookeeperに格納されていることに注意する必要があります。ApacheZookeeperは、独自の独立したストレージを備えた独立したシステムです。Kafkaクラスターをより適切に操作するには、開発に精通している必要があります。 KafkaシステムとZookeeperシステムの両方を使用すると、ある程度の負担が増大します。ユーザーの負担を軽減するために、KIP-500は、以前にZookeeperに保存されていたものすべてをKafkaクラスターの内部メンテナンスに移動することを提案しています。つまり、Kafkaは将来Zookeeperに依存せずに実行できます。

Apache Kafka 2.5.0バージョンは、この作業で新たな進歩を遂げました。たとえば、KIP-555では管理者ツールでZookeeperを要求する必要がなくなり、KIP-543では動的構成のためにZookeeperを要求する必要がなくなりました。

KIP-500は大きな機能であり、その最終的なソリューションを次のいくつかのバージョンに反映させる必要があります。

正確に一度のセマンティクスが改善されました

KIP-447:プロデューサーのスケーラビリティーは1回限りのセマンティクスをサポートします

このKIPは、トランザクション方式でKafkaから読み取りおよび書き込みを行うアプリケーションのAPIを簡素化します。以前は、このユースケースでは通常、入力パーティションごとに個別のプロデューサーインスタンスが必要でしたが、この制限はなくなりました。これにより、多数のパーティションを消費する1回限りのセマンティックアプリケーションの構築が容易になります。詳しくはKIP-447をご覧ください。

KIP-360:べき等/トランザクションプロデューサーの信頼性を向上させます

このKIPは、ブローカーでプロデューサーの状態を維持する問題を解決し、べき等の保証を可能にします。それ以前は、ログを切り捨てて保持を強制するか、レコードを削除する呼び出しから切り捨てると、ブローカーはプロデューサーの状態を削除し、UnknownProducerId例外が発生していました。この改善により、ブローカーは有効期限が切れるまでプロデューサーのステータスを保持します。このKIPは、プロデューサーが偶発的なエラーから回復するための強力な方法も提供します。

カフカストリーム

KIP-150:DSLにCogroupを追加

これまで、複数のストリームを1つのストリームに集約することは、複雑でエラーが発生しやすい場合がありました。通常、すべてのフローをグループ化してテーブルに集約してから、複数の外部結合呼び出しを行う必要があります。新しい共同グループオペレーターは、このプロセスを簡素化し、状態ストレージ呼び出しの数を減らし、全体的なパフォーマンスを向上させます。具体的な用途は次のとおりです。


KTable<K, CG> cogrouped =
  grouped1
    .cogroup(aggregator1)
    .cogroup(grouped2, aggregator2)
    .cogroup(grouped3, aggregator3)
    .aggregate(initializer1, materialized1);

KIP-523:DSLにtoTable()を追加

イベントストリームを変更ログとして解釈し、それをテーブルに具体化することは、強力な方法です。KIP-523では、toTable()関数が導入されています。この関数は、ストリームに適用でき、各キーの最新の値を具体化できます。null値(null)は、指定されたキーの削除として解釈されることに注意してください。

KIP-535:リバランス中に状態ストレージが古いデータを提供できるようにする

以前は、状態ストアへの対話型クエリ(IQ)はリバランス中に失敗していました。これにより、KafkaStreams状態テーブルをクエリする機能に依存するアプリケーションの稼働時間が短縮されます。KIP-535を使用すると、アプリケーションは状態ストアの任意のコピーを照会し、各コピーがマスターコピーからどれだけ遅れているかを監視できます。

サポートの終了と非推奨

Apache Kafka2.5でのScala2.11のサポートを削除し、現在サポートされているバージョンはScala2.12と2.13のみです。

TLS 1.2がデフォルトのSSLプロトコルになりましたが、TLS1.0および1.1は引き続きサポートされています。

参考:Apacheのカフカの新機能2.5:https://www.confluent.io/blog/apache-kafka-2-5-latest-version-updates/

おすすめ

転載: blog.51cto.com/15127589/2677272