Kontrol Jumlah Request di Traefik

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: