Releases: OpenFluxGate/fluxgate
Releases · OpenFluxGate/fluxgate
0.1.2
What's Changed
- initialize fluxgate project & fluxgate-core libraries development by @rojae in #3
- development. fluxgate-mongo-adaptor with fluxgate-testkit by @rojae in #4
- fix: fluxgate-mongo-adaptor README.md by @rojae in #5
- Development/redis ratelimiter by @rojae in #8
- development: fluxgate-spring-boot-starter by @rojae in #10
- development: fluxgate-sample by @rojae in #11
- Chore/fluxgate test more by @rojae in #12
- fix: maven-ci test failed by @rojae in #13
- fix: maven-ci test failed by @rojae in #14
- chore: README.md by @rojae in #15
- chore: README.md by @rojae in #16
- Development/fluxgate support redis cluster by @rojae in #17
- Release/0.1.1 by @rojae in #18
New Contributors
Full Changelog: https://github.com/OpenFluxGate/fluxgate/commits/v0.1.2
OpenFluxGate 0.1.0
FluxGate 0.1.0
The first public release of FluxGate - A production-ready, distributed rate limiting framework for Java applications.
Full Changelog: 0.1.0...0.1.0
Highlights
- 🚀 Production-Ready - Built for high-throughput, distributed environments
- ⚡ Redis-Backed - Atomic Lua scripts for consistent rate limiting across instances
- 🔧 Spring Boot Integration - Zero-config auto-configuration
- 📊 MongoDB Rule Management - Dynamic rule updates without restart
Modules
| Module | Description |
|---|---|
fluxgate-core |
Core rate limiting engine with Bucket4j integration |
fluxgate-redis-ratelimiter |
Redis-backed distributed rate limiter with Lua scripts |
fluxgate-mongo-adapter |
MongoDB adapter for dynamic rule management |
fluxgate-spring-boot-starter |
Spring Boot auto-configuration and filter support |
fluxgate-testkit |
Integration testing utilities |
Features
Rate Limiting
- Token bucket algorithm with atomic Redis operations
- Multi-band support (e.g., 100/sec + 1000/min + 10000/hour)
- Flexible key strategies (IP, User ID, API Key, custom)
- Production-safe design using Redis server time
Redis Support
- Standalone Redis connection
- Redis Cluster support (auto-detection)
- Atomic Lua script execution
Spring Boot
@EnableFluxgateFilterannotation- Auto-configuration with
fluxgate.*properties - URL pattern matching (include/exclude)
- HTTP API mode for centralized rate limiting
MongoDB
- Dynamic rule storage and retrieval
- Runtime rule updates without restart
Installation
<dependency>
<groupId>org.fluxgate</groupId>
<artifactId>fluxgate-spring-boot-starter</artifactId>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>org.fluxgate</groupId>
<artifactId>fluxgate-redis-ratelimiter</artifactId>
<version>0.1.0</version>
</dependency>Requirements
- Java 21+
- Spring Boot 3.3.x
- Redis 6.0+ (for distributed rate limiting)
- MongoDB 4.4+ (optional, for rule management)
Documentation
- See https://github.com/OpenFluxGate/fluxgate#readme for full documentation.
- Full Changelog: https://github.com/OpenFluxGate/fluxgate/commits/v0.1.0