Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Build rate limiter engine
·
Module 8
Dynamic Configuration with YAML
1
YAML Schema for Rate Limit Rules
Design a YAML schema for defining rate limit rules (e.g., algorithm, limits, target keys).
2
Binding YAML to Java Objects with @ConfigurationProperties
Bind YAML configuration to Java objects using Spring's @ConfigurationProperties.
3
Validating Configurations with Jakarta Bean Validation
Validate configuration values using Jakarta Bean Validation annotations (e.g., @NotNull, @Min).
4
Dynamic Rate Limiting with Key-Based Rules
Create a service that selects the appropriate rate limit rule based on the resolved request key.
5
Rate Limiter Factory: In-Memory vs. Redis
Implement a factory that provides the correct `RateLimiter` instance (in-memory vs. Redis) based on the rule.
Previous module
Distributed Rate Limiting with Redis and Lua
Next module
Performance Benchmarking and Load Testing