Ok.
发件人: XiaoYu<mailto:[email protected]>
发送时间: 2022年3月23日 17:05
收件人: [email protected]<mailto:[email protected]>
主题: Re: PR#3100 When the service shutdown, remov it from the selector
hi Jubo,
This property must be configurable,Unit is second(s), you can config
in shenyu admin yaml
shenyu:
register:
props:
xxxx: 60(s)
> I have considered making a configuration, but I am worried that it
is not of much use. Time units in hours, or smaller?
Shi Jubo <[email protected]> 于2022年3月23日周三 16:55写道:
>
> 1. This not modified, the local execution test is normal. Jdk11 will
> encounter it?
> 2. I have considered making a configuration, but I am worried that it is not
> of much use. Time units in hours, or smaller?
>
> 发件人: XiaoYu<mailto:[email protected]>
> 发送时间: 2022年3月23日 15:30
> 收件人: [email protected]<mailto:[email protected]>
> 主题: Re: PR#3100 When the service shutdown, remov it from the selector
>
> hi Jubo,
>
> Thanks for your contribution. I already reviewed it.
>
> Your ideas and improvements are very good for me, but there are 2
> small problems as follows
>
> 1. This pr Must ensure CI can pass. you can see this error [1].
> 2. Can the following 1 hour be configured?
>
> > Set the status for the upstream service, when the service is registered,
> > set the status of the service list in the DB according to the service list
> > in the event message, and record the service status change time. Set status
> > false when the service deregistration. When the service changes or the
> > admin starts, the service that is unavailable for more than 1 hour is
> > removed to avoid the zombie service from existing in the DB all the time.
>
>
>
> [1] :
> https://github.com/apache/incubator-shenyu/runs/5655637482?check_suite_focus=true
>
> Shi Jubo <[email protected]> 于2022年3月23日周三 15:00写道:
> >
> > Hello!
> >
> >
> > For PR#3100 (Fixes
> > #3017<https://github.com/apache/incubator-shenyu/issues/3017> ) is
> > described below, please review the code. thank!
> >
> > Existing service registration and deregistration processing and problems:
> > 1. For the use of the registry, when there is a service started and
> > shutdown, all available services will be queried from the registry during
> > registration processing, and event messages will be published for service
> > registration.
> > 2. For http registration, when a service is started and shutdown, the
> > service can only be registered.
> > 3. The event subscriber is not sure what the service register type. When a
> > service is registered, the list of services in the event message is
> > processed, the list of services in the DB is queried, the list of services
> > in the event message is compared with the list of services in the DB, and
> > the services that do not exist in the former are added to the latter to
> > achieve the purpose of service registration. However, the stopped service
> > is not removed from the DB list, and if there is a service offline, the
> > gateway will still send the request to the node.
> > 4. Http registration, after the service shutdown, the dependent heartbeat
> > check finds that the service is unavailable, and then removes it from the
> > upstream service list. There is a timely removal that causes the gateway to
> > send requests to the downed node.
> >
> > Modification Notes:
> > 1. Active deregistration when the http service is stopped,
> > EventType=DELETED. Http registration and use registry registration to
> > differentiate processing.
> > 2. Set the status for the upstream service, when the service is registered,
> > set the status of the service list in the DB according to the service list
> > in the event message, and record the service status change time. Set status
> > false when the service deregistration. When the service changes or the
> > admin starts, the service that is unavailable for more than 1 hour is
> > removed to avoid the zombie service from existing in the DB all the time.
> > 3. The new services and services with changed status are handed over to the
> > http registrar for processing.
> > 4. If it is http registration, the http registrar adds the service to the
> > service list according to the service status, or removes it from the
> > service list, and then updates the DB and sync to the service list cache.
> > Service registration processing ended.
> > 5. Non-http registration continues to be processed. If the service is
> > logged off, remove the service from the DB service list as the list of
> > available services (the current non-http registration does not exist, the
> > logic is retained, and can be removed), otherwise the service in the event
> > message is used as the list of available services. Based on the list of
> > available services and db services, generate the final service list, update
> > the DB and sync to the service list cache.
> > _______________________________________
> > Jerbo99
>