Astyanax is a high level Java client for Apache Cassandra. Apache Cassandra is a highly available column oriented database.
Astyanax is currently in use at Netflix, but is being retired. Fixes will be made for serious issues, but it is not under active development.
Artifacts
Astyanax jars are published to Maven Central. As of astyanax 1.56.27 the project has been split into multiple sub project, each of which needs to be pulled in separately.
Required artifacts
GroupID/Org | ArtifactID/Name |
---|---|
com.netflix.astyanax | astyanax-core |
com.netflix.astyanax | astyanax-thrift |
com.netflix.astyanax | astyanax-cassandra |
Optional artifacts
GroupID/Org | ArtifactID/Name |
---|---|
com.netflix.astyanax | astyanax-queue |
com.netflix.astyanax | astyanax-entity-mapper |
com.netflix.astyanax | astyanax-recipes |
Features
A quick overview can be found at the Netflix Tech Blog. Some features provided by this client:
- High level, simple object oriented interface to Cassandra.
- Fail-over behavior on the client side.
- Connection pool abstraction. Implementation of a round robin connection pool.
- Monitoring abstraction to get event notification from the connection pool.
- Complete encapsulation of the underlying Thrift API and structs.
- Automatic retry of downed hosts.
- Automatic discovery of additional hosts in the cluster.
- Suspension of hosts for a short period of time after several timeouts.
- Annotations to simplify use of composite columns.
Documentation
Detailed documentation of Astyanax's features and usage can be found on the wiki and the getting started guide.
Ancient History
Astyanax was the son of Hector who was Cassandra's brother in greek mythology.
Modern History
This work was initially inspired by Hector.