If we treat the service center as an online service, it should provide 7*24 services. But if we use the standalone service center, it could be challenge for the service center provide 7*24 service.
How can we setup the instance refresh strategy? We may need to provide different solution for different user case. Willem Jiang Blog: http://willemjiang.blogspot.com (English) http://jnn.iteye.com (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Mon, May 14, 2018 at 4:52 PM, bismy <[email protected]> wrote: > Supporting gray release need a lot of facilities to make it work and > service center upgrading can not apply gray release sometimes. > And other scenarios like standalone application(not cloud services) > restart is quite common. And base services restart can't influence user's > service communication. > > > ------------------ 原始邮件 ------------------ > 发件人: "wjm wjm"<[email protected]>; > 发送时间: 2018年5月14日(星期一) 下午4:23 > 收件人: "[email protected]"<[email protected]>; > > 主题: Re: [Discussion]About service instances discovery reliable problems > > > > it's a problem, but why business use gray release, but we reject to the > solution? > > 2018年5月14日星期一,bismy <[email protected]> 写道: > > > When service center all instances stoped and then started. This is normal > > when we are doing maintenance. e.g. upgrading > > > > > > > > > > ------------------ 原始邮件 ------------------ > > 发件人: "wjm wjm"<[email protected]>; > > 发送时间: 2018年5月14日(星期一) 中午12:36 > > 收件人: "dev"<[email protected]>; > > > > 主题: Re: [Discussion]About service instances discovery reliable problems > > > > > > > > " When service center restarted" > > > > that means one instance of SC cluster, or whole SC cluster? > > even one instance restart will clear all information? > > > > 2018-05-14 12:03 GMT+08:00 bismy <[email protected]>: > > > > > 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? >
