Skip to content
This repository

Acme Air Sample Application

branch: master

This branch is 0 commits ahead and 0 commits behind master

Octocat-spinner-32 CLAs fix urls in CLA's August 23, 2013
Octocat-spinner-32 acmeair-auth-service-tc7 added tc7/wlp builds, upgraded netflix oss component versions, change… August 05, 2013
Octocat-spinner-32 acmeair-auth-service-wlp disable jaxrs, enable servlet 3.0 September 10, 2013
Octocat-spinner-32 acmeair-auth-service add simple curl testing commands December 31, 2013
Octocat-spinner-32 acmeair-common get rid of eclipse files and update gitignore June 27, 2013
Octocat-spinner-32 acmeair-driver-control added tc7/wlp builds, upgraded netflix oss component versions, change… August 05, 2013
Octocat-spinner-32 acmeair-driver default to 10000 users so OCC's don't happen July 11, 2013
Octocat-spinner-32 acmeair-loader default to 10000 users so OCC's don't happen July 11, 2013
Octocat-spinner-32 acmeair-services-wxs move to eureka.flyacmeair.org instead of hardcoded literals July 08, 2013
Octocat-spinner-32 acmeair-services get rid of eclipse files and update gitignore June 27, 2013
Octocat-spinner-32 acmeair-webapp-tc7 added tc7/wlp builds, upgraded netflix oss component versions, change… August 05, 2013
Octocat-spinner-32 acmeair-webapp-wlp disable jaxrs, enable servlet 3.0 September 10, 2013
Octocat-spinner-32 acmeair-webapp add simple curl testing commands December 31, 2013
Octocat-spinner-32 documentation add asgard create images August 28, 2013
Octocat-spinner-32 gradle adding initial netflix oss enablement June 21, 2013
Octocat-spinner-32 .gitignore get rid of eclipse files and update gitignore June 27, 2013
Octocat-spinner-32 AWS-README.txt adding initial netflix oss enablement June 21, 2013
Octocat-spinner-32 LICENSE add license May 28, 2013
Octocat-spinner-32 README.md Update README.md September 13, 2013
Octocat-spinner-32 build.gradle fix build to work for EC2 environment by default, SoftLayer changes f… August 27, 2013
Octocat-spinner-32 gradle.properties adding initial netflix oss enablement June 21, 2013
Octocat-spinner-32 gradlew adding initial netflix oss enablement June 21, 2013
Octocat-spinner-32 gradlew.bat adding initial netflix oss enablement June 21, 2013
Octocat-spinner-32 settings.gradle added tc7/wlp builds, upgraded netflix oss component versions, change… August 05, 2013
README.md

NetflixOSS Acme Air Sample and Benchmark

This application shows an implementation of a fictitious airline called "Acme Air". The application was built with the some key business requirements: the ability to scale to billions of web API calls per day, the need to develop and deploy the application in public clouds (as opposed to dedicated pre-allocated infrastructure), and the need to support multiple channels for user interaction (with mobile enablement first and browser/Web 2.0 second). In addition to the original Acme Air application, the application has been changed to leverage the Netflix OSS cloud platform.

What has been changed in this application for Netflix OSS

This application is based upon the original Acme Air Sample and Benchmark, but has been changed in the following ways to demostrate the Netflix OSS cloud platform:

  • Split monolythic implementation into micro-services based architecture (added authentication micro service)
  • Added Karyon based bootstrapping in order to expose the management console and automatic registration into Eureka
  • Implemented Archaius property based configuration for key dependencies and service registration
  • Reimplemented REST calls to use Ribbon (with Eureka Client) for automatic service invocation load balancing
  • Wrapped REST calls with Hystrix to provide for fast failure and tolerance of failure in back end services
  • (Coming soon) Implemented Cassandra based data service implementation and accessed via Asytanax
  • Created AMI's for easy deployment

Repository Contents

Source:

  • acmeair-auth-service The core code for the authentication micro service
  • acmeair-auth-service-tc7 Deployment artifacts for the Tomcat version of the auth service
  • acmeair-auth-service-wlp Deployment arfifacts for the WebSphere Liberty Profile version of the auth service
  • acmeair-common The Java entities used throughout the application
  • acmeair-driver The workload driver script and supporting classes and resources
  • acmeair-driver-control A lightweight framework for automating nmon/jmeter performance runs
  • acmeair-loader A tool to load the Java implementation data store
  • acmeair-services The Java data services interface definitions
  • acmeair-services-wxs A WebSphere eXtreme Scale data service implementation
  • acmeair-webapp The core code for the Web 2.0 application front end web app and associated Java REST services
  • acmeair-webapp-tc7 Deployment artifacts for the Tomcat version of the front end web app
  • acmeair-webapp-wlp Deployment arfifacts for the WebSphere Liberty Profile version of the front end web app
  • build.gradle The build system using gradle

How to get started

Ask Questions

Questions about the Acme Air Open Source Project can be directed to our Google Groups. Please indicate that you are working with the Netflix OSS version.

Submit a bug report

We use github issues to report and handle bug reports.

OSS Contributions

We accept contributions via pull requests.

Please fill in the appropriate CLA in order to contribute.

Something went wrong with that request. Please try again.