Baoyuantop commented on issue #12748: URL: https://github.com/apache/apisix/issues/12748#issuecomment-3525576645
Simply dividing the configured global rate by the number of running nodes will under-deliver when traffic for a given key is sticky to a single node (common with client keep-alive or session-affinity load balancers); the user would get rate / nodes instead of the advertised global limit. Node counts derived from /data_plane/server_info/* are soft-state with TTL refresh and lag; scaling events, network partitions, or an unhealthy worker could lead to stale limits and either tighten or loosen throttling unexpectedly. Achieving an accurate cluster-wide budget without an external counter still requires some consistent coordination layer; Redis (or another shared store) is currently the only supported option that solves this problem deterministically. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
