Murundiri is a blazing fast and configurable idempotency reverse-proxy designed for scale.
- It can exist as either a
proxy
orstand-alone
service. - Allows support for integration with a redis cluster for caching.
- Supports redis clusters (at least 3).
- Easily configuration via a
.yaml
file. - Supports all HTTP verbs.
- Supports the following actions:
- Service redirection (to any URI)
- Returning custom JSON messages.
- Supports TTL for idempotency (i.e. time before idempotency expires)
The core implementation has been implemented, although, this isn't ready for production use yet.
- Implement murundiri config parser
- Add reverse proxy
- Implement proxy request interceptor
- Validate request info based on idepotency rule
- Cache idempotency fields to redis
- Implement idempotency support.
- Support 100% async for redis client ( i.e. both
normal
orcluster
mode).
- Support mounting of proxy on custom
ip
&port
. - Add proper Document the config file
- Add TLS support.
- Support infinity idempotency TTL.
If you find any issue, bug, or missing feature, please kindly create an issue or submit a pull request, as it will go a long way in helping other Rustaceans grow.
This repository is open-sourced software licensed under the MIT license.