Feature-rich, efficient, and highly customizable plugins for your Multiplatform Ktor Server or Client
Plugin | Supported Platforms | Description |
---|---|---|
Kafka | JVM | Sets up a Kafka client admin, producer, and consumer using a dedicated DSL. Allows consumption logic definition during the installation phase. |
Task Scheduling | JVM / Native^ | Task scheduling for distributed servers with various and extendable task management strategies |
Rate Limiting | JVM / Native | Highly configurable rate limiter with offering different startegies, request weighting, blacklisting and whitelisting of requests based on authentication, host and user agents |
Plugin | Supported Platforms | Description |
---|---|---|
Circuit Breaker | JVM / Native / JS | Enhances system resilience by halting requests to failing services once a defined error threshold is reached. Automatically switches between open and closed states based on the health of the targeted service. |
Note that ^
means issues with native binary dependencies, feel free to pull the project and publish locally
Pleas see Documentation
The libraries are published to maven central, see above for the latest version
dependencies {
implementation("io.github.flaxoos:ktor-server-kafka:$ktor_plugins_version")
implementation("io.github.flaxoos:ktor-server-task-scheduling-$module:$ktor_plugins_version")
implementation("io.github.flaxoos:ktor-server-rate-limiting:$ktor_plugins_version")
implementation("io.github.flaxoos:ktor-client-circuit-breaker:$ktor_plugins_version")
}
Contributions are always welcome! If you have an idea for a plugin or want to improve an existing one, feel free to fork this repository and submit a pull request.