The TeaStore is a micro-service reference and test application to be used in benchmarks and tests. The TeaStore emulates a basic web store for automatically generated, tea and tea supplies. As it is primarily a test application, it features UI elements for database generation and service resetting in addition to the store itself.
The TeaStore is a distributed micro-service application featuring five distinct services plus a registry. Each service may be replicated without limit and deployed on separate devices as desired. Services communicate using REST and using the Netflix Ribbon client side load balancer. Each service also comes in a pre-instrumented variant that uses Kieker to provide detailed information about the TeaStore's actions and behavior.
Check out our wiki with information on how to get started using/developing the TeaStore, more information on the architecture and services of the Tea Store, guides on how to run the TeaStore for benchmarking/testing, and common troubleshooting tips. You can also watch a short demonstration of the TeaStore running in Kubernetes with its monitoring environment enabled on YouTube.
The TeaStore was first published in Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS2018). If you use the TeaStore please cite the following publication:
@inproceedings{KiEiScBaGrKo2018-MASCOTS-TeaStore,
author = {J{\'o}akim von Kistowski and Simon Eismann and Norbert Schmitt and Andr{\'e} Bauer and Johannes Grohmann and Samuel Kounev},
title = {{TeaStore: A Micro-Service Reference Application for Benchmarking, Modeling and Resource Management Research}},
booktitle = {Proceedings of the 26th IEEE International Symposium on the Modelling, Analysis, and Simulation of Computer and Telecommunication Systems},
series = {MASCOTS '18},
year = {2018},
month = {September},
location = {Milwaukee, WI, USA},
}
To get started, we recommend running the TeaStore in an environment of your choice. We offer three ways of deploying and running the TeaStore:
- The easiest way: Run TeaStore Container(s) using Docker (Recommended, we also provide configs for Kubernetes)
- Deploy the TeaStore in one or several Java Application Container(s)
- Setup and run the TeaStore Development Environment