Hi All,
Now we meet a reliable problem. When service center restarted, It will clear all service instances information. And when SDK(java-chassis) queries instance list periodically, it will get an empty list and invocation will fail. In order to resolve this problem, two solutions is suggested: 1. service center provide instances persistence mechanism. When service center restarted, it will restore instance information, and re-calculate the timeout information(e.g. reset instance last active time to startup time). If he gets the heartbeat from instance, the instance will not be removed, and after timeout, it can removed instances, like the normal way. 2. SDK need to take special care with instances remove. SDK don't actually remove instances when he gets empty list from service center and it will ping the instances. If ping return OK, the instance will not removed. Known consequencies: Solution 2: a. Conflicts with service center white/black rule. b. In docker or some instances changed frequently scenario, the ip/port is reused by many services when service start/stop, and service health URL may also be the same. So it will give a lot of 400 like error when instances is not updated. Any suggestions?
