-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
help request: about eureka when apisix reload #7178
Comments
I think discovery mode has this problem if it's a large amount of data. We should allow users to specify that they have to wait for the fetch data to finish before providing the service, then APISIX will be interrupted during reload. |
One solution is to let APISIX fetch all data from eureka in the |
Looks like that's what it's doing now. |
For eureka, it's not. |
I considered that before.Our most front-end is Ali Cloud SLB, with a heartbeat mechanism.When the release is released, [-s quit], wait for SLB to think that APISIX has been offline, but there is a waiting time for heartbeat detection, during which SLB will still have traffic forward.Is it possible to stop all new requests outside after apisix receives the [-s quit] directive and then process requests received before closing. |
The etcd is also asynchronous with the ngx_timer_at function, so how does it guarantee that the apisix provides the service after the data is fully loaded with the etcd? |
See https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L159. That's the default behavior. |
We used luasocket instead of cosocket to load etcd configuration when apisix starts in |
perfect. |
Description
when apisix the reload, the eureka data is not ready (fetch_full_registry is not over), and there are many 502. Is there any solution.
Environment
apisix version
):2.10.5uname -a
):openresty -V
ornginx -V
):curl http://127.0.0.1:9090/v1/server_info
):luarocks --version
):The text was updated successfully, but these errors were encountered: