- Backend: nodejs + express
- Frontend: pure html + js
- Database: mongodb
- Cache: redis
- Queue: bull.js
- Node version: v20.12.2 (must accept
--node-env
parameter)
node stress_test.js
Single server:
npm run start
Cluser mode: starts as many severs as cpus available.
npm run cluster
Single pod:
docker build -t image-name .
docker push image-name
kubectl apply deployment/express-deployment
NodePort service to make the pod accesible from outside of the cluster:
kubectl apply deployment/express-service
Used as a cache for hash-url search and as a queue for visit count storage.
redis-server
Single redis pod:
kubectl apply deployment/redis-deployment
Helm chart
helm install my-redis bitnami/redis
Using a free Atlas cluster.