Mengontrol jumlah request yang masuk di traefik merupakan hal yang perlu dilakukan, karena pada beberapa kasus jumlah request yang tidak sepadan dengan resource yang ada di server akan membuat aplikasi atau website yang sedang live menjadi tidak stabil.
Dengan Middleware RateLimit jumlah request dapat Anda limit sesuai resource yang tersedia dan memastikan bahwa layanan atau website akan menerima jumlah permintaan yang wajar.
Berikut contoh dengan docker compose untuk melimit 100 reqs/minutes
version: "3.9"
networks:
public:
external: true
private:
external: true
services:
wordpress:
image: "wordpress:latest"
environment:
WORDPRESS_DB_HOST: db_mysql
WORDPRESS_DB_USER: web1
WORDPRESS_DB_PASSWORD: web1
WORDPRESS_DB_NAME: web1
networks:
- public
- private
labels:
- "traefik.enable=true"
- "traefik.docker.network=public"
- "traefik.http.routers.wordpress.rule=Host(`web5.srv1.de`)"
- "traefik.http.routers.wordpress.entrypoints=web"
- "traefik.http.routers.wordpress.middlewares=limit"
- "traefik.http.services.wordpress.loadbalancer.server.port=80"
- "traefik.http.middlewares.limit.ratelimit.average=100"
- "traefik.http.middlewares.limit.ratelimit.period=1m"
volumes:
- wordpress:/var/www/html
volumes:
wordpress: