You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/06/01 07:11:06 UTC

[GitHub] [apisix] kongjun01 opened a new issue, #7178: help request: about eureka when apisix reload

kongjun01 opened a new issue, #7178:
URL: https://github.com/apache/apisix/issues/7178

   ### 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 (run `apisix version`):2.10.5
   - Operating system (run `uname -a`):
   - OpenResty / Nginx version (run `openresty -V` or `nginx -V`):
   - etcd version, if relevant (run `curl http://127.0.0.1:9090/v1/server_info`):
   - APISIX Dashboard version, if relevant:
   - Plugin runner version, for issues related to plugin runners:
   - LuaRocks version, for installation issues (run `luarocks --version`):
   


-- 
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: notifications-unsubscribe@apisix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] soulbird commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
soulbird commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1149380983

   > > One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.
   > 
   > 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?
   
   We used luasocket instead of cosocket to [load etcd configuration when apisix starts](https://github.com/apache/apisix/pull/3799) in `init_worker` phase


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tokers commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
tokers commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143333808

   One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] kongjun01 commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
kongjun01 commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143376694

   > 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.
   
   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


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] kongjun01 closed issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
kongjun01 closed issue #7178: help request: about eureka when apisix reload
URL: https://github.com/apache/apisix/issues/7178


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tzssangglass commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
tzssangglass commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143329285

   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.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] kongjun01 commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
kongjun01 commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143384466

   > One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.
   
   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?


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] kongjun01 commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
kongjun01 commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1152005703

   > > > One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.
   > > 
   > > 
   > > 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?
   > 
   > We used luasocket instead of cosocket to [load etcd configuration when apisix starts](https://github.com/apache/apisix/pull/3799) in `init_worker` phase
   
   perfect.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tokers commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
tokers commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1144621298

   > > One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.
   > 
   > 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.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] soulbird commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
soulbird commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143366497

   > One solution is to let APISIX fetch all data from eureka in the `init_worker` phase. Just like the way we load data from ETCD.
   
   Looks like that's what it's doing now.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix] tzssangglass commented on issue #7178: help request: about eureka when apisix reload

Posted by GitBox <gi...@apache.org>.
tzssangglass commented on issue #7178:
URL: https://github.com/apache/apisix/issues/7178#issuecomment-1143369084

   > Looks like that's what it's doing now.
   
   For eureka, it's not.


-- 
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: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org