Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 3.03 KB

README.md

File metadata and controls

63 lines (47 loc) · 3.03 KB

ACIDBrain

The ACIDBrain team investigates ways to maintain data consistency in microservices applications. We built prototypes in two popular frameworks, Axon and Eventuate, and tested their usability from an end-user's perspective both quantitatively and qualitatively. This repo contains the source code of both prototypes and tests we ran on them.

  • prototype: initial prototype without any data consistency guarantees.
  • axon-service: the Axon prototype
  • eventuate: the Eventuate prototype
  • docs: initial proposal and final report. Also see the Past Milestones for other documents we created throughout the semester.
  • test: scripts for load testing the applications. They are written to be used by Artillery and has to be modified manually due to some server-side setup do generate different customer ID and IP addresses each time before we run the whole test suite.
  • assets: images and diagrams

Build and run Eventuate final deliverable using Docker compose

  • Go to final deliverable folder
    • cd eventuate/final\ deliverable
  • Build the application
    • ./gradlew assemble -P eventuateDriver=local
  • Set the host IP of docker:
    • export DOCKER_HOST_IP= <your-local-machine-ip>
  • Launch application using docker-compose
    • docker-compose -f docker-compose-eventuate-local-mysql.yml up -d

Running Eventuate sample on AWS

Build and run Axon final deliverable using Docker compose

  • Go to axon-service directory:
    • cd axon-service
  • Build: mvn clean install
  • Start: docker-compose up -d --build
  • Stop: docker-compose down --remove-orphans

Resources

Past Milestones

Tutorials