agreed.
We need a health check for redis, just like upstream health check.

Thanks,
Ming Wen, Apache APISIX PMC Chair
Twitter: _WenMing


Jan Li <jan...@airwallex.com> 于2020年11月16日周一 下午3:50写道:

> Hi community,
>
>       Currently APISIX uses Redis to do cluster-level rate limit, it calls
> Redis for every request to check whether the rate control is broken.
>
>       Problem is that Redis becomes an important dependency in the critical
> path of request processing. So if Redis is under maintenance, every request
> will have to wait for the Redis connection to timeout. The timeout will
> slow down request processing of APISIX and might cause other issues due to
> request processing are actually pending.
>
>       Proposal:
>
>    1. Start a backend process to check the availability of Redis.
>    2. If Redis is unavailable, all operations on Redis will fail fast.
>    3. If Redis is back to normal, all operations on Redis will hit Redis
>    again.
>    4. The check health interval can be configured in config.yaml.
>

Reply via email to