ThrottleX v1.0.0-rc1 - Pre-Release: Rate Limiting for Your APIs 🚀
Pre-releaseRelease Notes for v1.0.0-rc1
We are thrilled to announce the pre-release of ThrottleX: an open-source, distributed rate-limiting library for Go! This release marks an important milestone as we roll out ThrottleX for developers looking to manage API traffic, prevent abuse, and ensure fair usage.
This is a pre-release version, meaning it is still under active development, and we're actively looking for feedback from the community to polish it for a full production release.
Highlights:
1. Core Rate Limiting Strategies Implemented
- Fixed Window Rate Limiting: Control the maximum number of requests in a fixed time frame.
- Sliding Window Rate Limiting: A more dynamic approach to manage bursts and even out API usage.
- Token Bucket Rate Limiting: Accumulate tokens over time to allow bursts, providing flexibility for peak loads.
2. Flexible Storage Backends
- Support for both in-memory and Redis backends, allowing ThrottleX to be used in both local and distributed environments.
3. Ready-to-Use Examples
- Included examples show how to apply rate limiting with Go, using memory-backed or Redis-backed stores, with simulated single-user and multi-user scenarios.
4. Concurrency Support
- Basic concurrency handling ensures rate limits are enforced across simultaneous requests, making it suitable for a variety of use cases.
Future Improvements (Coming in v1.0.0 Stable Release):
- New Rate Limiting Policies including Prioritized Rate Limiting, Geographic Rate Limiting, Dynamic Rate Limiting, Leaky Bucket Algorithm, and more.
- Improved Project Structure: A new architecture to make rate limiting policies easy to configure via the new
PolicyType
enum. - Enhanced Error Handling and Resilience to handle distributed production environments more effectively.
How You Can Help
As this is an early pre-release version, we need your feedback to improve and get it ready for full production use. Please try out ThrottleX, open issues, suggest improvements, and share your thoughts on what features or changes would help make this the go-to rate limiter for Go developers.
Notes:
- This release is not yet intended for production use. Testing and feedback are highly appreciated.
- Visit our GitHub Repo for source code, examples, and documentation.
Thank you for being part of the journey! Let's make ThrottleX the ultimate rate-limiting solution for Go APIs!