Getting started Community Training Tutorials Documentation APIs, AI & Tools
// buckets example configuration
let buckets = vec![
("api", vec![Tier { requests: 100, period_in_millis: 60000 }]), // 100 requests per minute
("user", vec![Tier { requests: 10, period_in_millis: 30000 }]), // 10 requests per 30 seconds
];
// timer example
let timer = clock.period(Duration::from_millis(100)); // 100ms intervals for rate limit sync
// for local mode (single-instance)
let builder = rate_limit_builder
.new(builder_id);
let rate_limiter = builder.buckets(buckets).build()?;
// for clustered mode with shared storage (multi-instance)
let builder = rate_limit_builder
.new(builder_id)
.clustered(Rc::new(timer))
.shared();
let rate_limiter = builder.buckets(buckets).build()?;



