A general-purpose service for storing, managing and retrieving user reactions in efficient yet flexible manner.
User reactions are emojis 🙂😊😭🤯😡👍👎 or any other custom image.
- Power for handling thousands of RPS
- Flexible reactions configuration
- Optimized database settings
- Fine-grained server configuration
- Real-world load simulation with user-defined workloads
- Comprehensive documentation with step-by-step tutorials
- Support for 3 different deployment types (local, docker and VM)
- Integrations with Grafana, Prometheus, Pushgateway and Node Exporters
- Exhaustive Grafana dashboards out of the box
- Load testing observations with automated metrics capturing
- Grafana dashboards backups are saved and loaded with a single command
- Automated Flame Graphs generation
- Thorough end-to-end test coverage
- Install dependencies
go get
- Set environment variables
cp .env.template .env
# fill .env file
- Launch server
. devtools/exenv .env # export env variables
make run
- Run tests
. devtools/exenv .env # export env variables
make test
- Detailed documentation can be found in the Manual.
-
Reactions Storage server — an HTTP web server that handles all incoming requests
-
It requires configuration file and environment variables
(see Reactions Storage Server section of Manual)
-
Deployment setup allows you to deploy, start and stop any of supported resources (such as server or database) with a single command in any available environment (local, docker-compose and remotely)
(see Deployment section of Manual)
-
Simulation — a tool written in Go for conducting load tests with user-defined workloads.
(see Simulation section of Manual)