I don’t know why,and the comment is there when opensource. But I agree with you 
reregister using old ID
发件人:Ang Li <liang951...@qq.com>
收件人:dev <dev@servicecomb.apache.org>
时 间:2019-10-17 20:21:08
主 题:[DISCUSSION] Why reset instanceId when re-registing microservice

Hi team,


In&nbsp;org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask#doRegister,
 the instanceId is set to "null" when re-registering microservice.&nbsp;


Here is a issue [SCB-1489] Microservice instance wouldn't work after we 
shotdown our service center for updating while we had enabled RSA 
authentication between services (issues.apache.org/jira/browse/SCB-1489) seems 
to related to resetting instanceId.


As Haishi Yao comment in SCB-1489: If the service reset the instanceId but not 
reset the token, provider will get old consumer instanceId parsed by token 
while the actual instanceId is already updated. I think the problem&nbsp;will 
be solved if application keep the instanceId immutable after application 
starting.


Although the issue can alse be solved by resetting token everytime resetting 
instanceId, I think use old instanceId to re-registering service is easier to 
understand and more efficient although there are some reasons to reset the 
instanceId. BTW, I have checked the code in service center and find the 
instanceId is generated as UUID.


Anyone have ideas about why resetting the instanceId when re-registering 
service? I have no idea till now.


Ang Li

Reply via email to