What is Karapace?の翻訳です。
2022年3月11日
カラペースとは?
Apache Kafka®とKarapaceを組み合わせることで、あなたのアプリケーションを全く新しいレベルに引き上げることができます。スキーマレジストリのマジックの詳細をご覧ください!
Karapaceは、オープンソースの分散イベントストリーミングプラットフォームであるApache Kafka®のためのオープンソースのHTTP APIインターフェースとスキーマレジストリです。
オープンソースのプロジェクトなので、Karapace on GitHub のAivenという組織の下にあります。KarapaceをApache Kafkaプロジェクトに追加することで、イベントドリブンやその他のデータ中心のアプリケーションで非常に有用な追加機能が得られます。
Apache Kafka®とデータスキーマ
Karapaceが提供する重要な機能の1つにスキーマ・レジストリがある。では、スキーマレジストリとは何でしょうか?スキーマとは何か、そしてKafkaでどのようにスキーマを使用するのかについて復習しましょう。
Kafkaは非常に柔軟で強力なツールであり、ユーザーはあらゆるフォーマットや構造のデータをあらゆるトピックに追加することができる。しかし、大きな力には大きな責任が伴います。多くのアプリケーションにとって、データ構造の柔軟性は間違いなく機能ではありません。スキーマはメッセージ・ペイロードのデータ・フォーマットを記述する方法です。スキーマには、フィールドとそのデータ型、そしてデフォルト値が記述されます。
Kafkaはデータの構造について意見を持っていないので、スキーマレジストリと呼ばれる追加のツールが必要です。スキーマレジストリは別のツールなので、コンシューマーとプロデューサーはこの追加エンドポイントの場所を設定する必要があります。その名の通り、希望するスキーマをスキーマ・レジストリに登録することができます。
Karapaceを使う理由
一旦スキーマが登録されると、プロデューサはトピックにレコードを生成する前に、期待されるスキーマに対してペイロードを検証することができる。Apache Avroのような圧縮フォーマットを使うアプリケーションでは、スキーマの登録は不可欠です。プロデューサは、メッセージのペイロードを圧縮するために使用したスキーマを登録し、スキーマのバージョン番号をメッセージに含めます。消費者はメッセージを受け取り、使用されたスキーマのバージョンを確認し、スキーマ・レジストリを参照してフィールドの順序やその他の詳細を理解することができる。
Karapaceには、JSON Schema、Avro、Protobufデータ形式をサポートするスキーマ・レジストリ機能がある。スキーマ・レジストリを使用すると、アプリケーションのすべてのコンポーネントが共通のデータ構造定義を共有できる。また、データ形式が進化する必要がある場合、スキーマレジストリに複数のバージョンのスキーマを登録することもできます。
Apache Kafka 用 RESTful API エンドポイント
Karapaceのもう一つの大きな特徴は、既存のApache KafkaにRESTful HTTP APIを追加できることだ。この追加統合により、HTTP上でKafkaを操作する機能が追加される。これにより
- データを直接操作し、メッセージを生成・消費する。
- API上でトピック、メッセージ、生産者/消費者情報を管理し、メタデータを扱う。
追加インターフェースにより、技術にとらわれない方法でKafkaと対話するための追加ツールの追加が容易になります。Aiven for Apache Kafkaサービス上で、Aiven Consoleの「トピック」タブにあるデータを閲覧することで、この機能を実際に確認することができます。この機能は、REST APIを使用してWebコンソールに提供されます。Aiven for Apache KafkaサービスでKarapace HTTP API機能が有効になっていない場合、これらの機能にアクセスしようとすると、エラーメッセージが表示されます。
Karapaceはオープンソースです
KarapaceはPythonベースのプロジェクトで、AivenによってApache 2.0ライセンスの下でリリース、メンテナンスされています。私たちはKarapaceのメンテナであることを誇りに思っており、他の人からの問題、貢献、機能要求を歓迎します。ここにあるいくつかの優れた機能は私たちによって構築されたものではなく、それは健全なオープンソースプロジェクトの証だと考えています。
あなたがAiven for Apache Kafkaの一部としてKarapaceを使うにせよ、他のApache Kafkaソリューションと一緒に使うにせよ、基本的なApache Kafkaにスキーマ・レジストリとHTTP API機能を追加することで、このツールは全く新しいレベルに到達します。あなたがどのようなものを構築したのか、ぜひお聞かせください!
さらに読む
- Karapaceについての詳細はkarapace.ioを参照。
- プロジェクトリポジトリをチェックし、ツールをローカルにインストールして使用する方法と、既存のApache Kafkaサービスに接続する方法を見つける。
まとめ
Apache Kafkaでスキーマレジストリを使用する基本について見てきた。
次に、Aivenアカウントにサインアップして、Aiven for Apache Kafkaサービスを開始し、RESTとスキーマレジストリの機能を有効にすることで、Karapaceを簡単に試すことができます。
それまでは、changelogとblogのRSSフィード、またはLinkedInとTwitterのアカウントをフォローして、製品や機能関連の最新ニュースをチェックしてください。