Cassandra Java Client
Java HTML
Latest commit 4324ba7 Feb 1, 2016 @elandau elandau Merge pull request #615 from Netflix/elandau-patch-1
Astyanax is now being retired
Failed to load latest commit information.
astyanax-cassandra Merge commit 'refs/pull/484/head' of github.com:Netflix/astyanax Jan 26, 2016
astyanax-contrib Move all test files to astyanax-test to avoid dependency complexity a… May 24, 2015
astyanax-core Add tracing to allow tracking every individual request Jul 9, 2015
astyanax-cql Add tracing to allow tracking every individual request Jul 10, 2015
astyanax-entity-mapper Fix a compilation error for java 8. Jan 8, 2016
astyanax-examples Move all test files to astyanax-test to avoid dependency complexity a… May 24, 2015
astyanax-queue Signal the ShardReaderPolicy that messages were not processed because… Jun 30, 2015
astyanax-recipes Move all test files to astyanax-test to avoid dependency complexity a… May 24, 2015
astyanax-test Merge commit 'refs/pull/484/head' of github.com:Netflix/astyanax Jan 27, 2016
astyanax-thrift Merge pull request #547 from pyal/master Jun 4, 2015
astyanax Move to java 1.6 compatibility (nebula.netflixoss defaults to 1.7) Jan 30, 2015
codequality NetflixOSS build upgrade Jan 30, 2015
gradle/wrapper NetflixOSS build upgrade Jan 30, 2015
.gitignore Add tracing to allow tracking every individual request Jul 10, 2015
CHANGELOG.md Remove unneeded version property. CHANGELOG to expected name Jan 30, 2015
LICENSE.txt Added LICENSE Jul 22, 2011
NOTICE.txt Added LICENSE Jul 22, 2011
OSSMETADATA Astyanax is now being retired Feb 1, 2016
README.txt Updated hector link in README.txt to match Readme.markdown Jul 31, 2012
Readme.markdown Update Readme.markdown Mar 7, 2013
build.gradle Move to java 1.6 compatibility (nebula.netflixoss defaults to 1.7) Jan 30, 2015
dependency-versions.gradle Fix a compilation error for java 8. Jan 9, 2016
gradle.properties Remove unneeded version property. CHANGELOG to expected name Jan 30, 2015
gradlew Upgrading to Gradle 1.4 Mar 22, 2013
gradlew.bat Upgrade to Gradle 1.1. Aug 17, 2012
index.html Put something in index.html Mar 31, 2013
settings.gradle moving tests to new module astyanax-test Jan 10, 2014

Readme.markdown

Astyanax

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. Issues generally are fixed as quickly as possible and releases done frequently.

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.