Netflix / astyanax

Deprecation

Astyanax は引退し、もはや活発な開発は行われていませんが、Astyanax からの移行を容易にするために依存関係の更新を受ける可能性があります。 DataStax ドライバーは CQL プロトコルのみをサポートするため (Apache Cassandra 4.x では Thrift プロトコルが削除されるため)、Thrift ベースのクエリをすべて CQL クエリに更新する必要があります。 しかし、ほとんどの (すべての?) ユースケースにおいて、従来のコンパクトなストレージ オプションは、新しいデフォルトの CQL ストレージ オプションよりも実際に多くのスペースを取るため、データを新しいデフォルトのストレージ オプションに移行する方が本当によいでしょう。 Astyanax のこのバージョンにアップグレードする場合、次のことが必要になる場合があります。

  • Astayanax トランジティブを介して、以前に静かに依存していた cassandra-all 推移依存性を明示的に追加します。
  • cassandra-all クラスを (意図せず) 公開した Astyanax 内部機能を使っていた場合、次のいずれかであることが必要です。 Astyanax から DataStax Java Driver for Apache Cassandra に移行します。
  • オプション B (二番目に良い):
  • オプション C: オブジェクトを “org.apache.cassandra” からシェーディングされた “com.netflix.astyanax.shaded.org.apache.cassandra” パッケージに変更する(Astyanax は現在これに依存します)。

Overview

Astyanax is a high level Java client for Apache Cassandra.Apache Cassandra is a highly available column oriented database.

Features

a quick overview are found at the Netflix Tech Blog.Netflix Tech Blog.Netflix Tech Blog. このクライアントが提供するいくつかの機能:

  • Cassandraへのハイレベルでシンプルなオブジェクト指向インターフェイス。
  • クライアント側のフェイルオーバー動作。 ラウンドロビン接続プールの実装。
  • 接続プールからイベント通知を取得するための監視抽象化。
  • 基礎となるThrift APIと構造体の完全なカプセル化。
  • ダウンしたホストの自動再試行。
  • クラスタ内の追加ホストの自動検出。
  • 数回のタイムアウト後の短時間でのホストのサスペンド。
  • 複合カラムの使用を簡素化するためのアノテーション。

Documentation

Astyanax の機能と使用方法の詳細なドキュメントは、wiki と getting started guide にあります。

IntelliJ: 現在 (2018 年 6 月) IntelliJ には、同じプロジェクトの別のモジュールを介して移転したパッケージに対して “unfound” エラーを表示するバグがあります (e.g.) 。g. astyanax-cassandra-all-shadedのshadedクラス).これはIntelliJ内のAstyanaxプロジェクト自体にのみ影響し、AstyanaxはまだGradle経由で完全にうまくビルドできます。Astyanaxユーザーは影響を受けません。 詳細は、

Artifacts

Astyanax jars are published to Maven Central を参照してください。 astyanax 1.56.27 以降、プロジェクトは複数のサブプロジェクトに分割され、それぞれを個別にプルインする必要があります。

必要なアーティファクト

GroupID/Org ArtifactID/Name Desc
com.Astyanax

Required Artifact

GroupID/Org

Artifact astyanax-thrift or astyanax-cql ThriftまたはCQLプロトコルを選択します。 Note Cassandra 4.x+ではThriftプロトコルのサポートがなくなります。

遷移型アーティファクト(必須アーティファクトを介して自動的に追加される依存性)

GroupID/Org ArtifactID/Name Desc
com.netflix.astyanax astyanax-core Astyanax のパブリック インターフェイス。
com.netflix.Astyanax com.netflix.Astyanax-core7499astyanax astyanax-cassandra Cassandra 固有の機能は astyanax-thrift と astyanax-cql
com.netflix.NETFIX.CASSANDRA で共有されます。astyanax astyanax-cassandra-all-shaded astyanax-cassandra が使用する少数のクラスに対する cassandra-all のシェーディング バージョンなので、新しいバージョンの Cassandra に対するユニット/統合テスト用にプロジェクトは自由に cassandra-unit の任意のバージョンを選択することが可能です。 org.apache.cassandra」クラスを「com.netflix.astyanax.shaded.org.apache.cassandra」にリファクタリングしてAstyanaxのcassandra-allへの依存性を隠しました。

Optional artifacts

Optional artifacts

GroupID/Org ArtifactID/Name Desc
com.Cassandra.Shaded.Org.Apache Cassandra.Shaded.Org.Compact
astyanax-contrib 他のよく使われる Netflix OSS モジュールとオプションで統合。
com.netflix.astyanax astyanax-queue キュー実装で、Cassandraストレージにバックアップ。 Cassandraはキューにとって非常に悪いストレージ・エンジンである可能性があるので、自己責任で使用してください。 もしキューにCassandraを使うことにこだわるなら、非常に短いTTLを設定し、TimeWindowCompactionStrategy (TWCS)を使ってください。Astyanax astyanax-entity-mapper
com.netflix.astyanax astyanax-recipes いくつかの共通パターンの任意の実装です。 これらのいくつかは人気がありますが、多くのユースケースで Cassandra に適していません(あなたを見て、AllRowsReader)。

Ancient History

Astyanax はギリシャ神話の Cassandra の兄である Hector の息子でした。

Leave a Reply