servicecomb-service-center icon indicating copy to clipboard operation
servicecomb-service-center copied to clipboard

问题咨询

Open xiangyanggong opened this issue 2 years ago • 2 comments

我们使用的是SC-1.3.0。A为调用者,B为服务提供者,B升级版本(修改接口)上线后,发现A只能访问B服务老版本的接口,无法访问新版本接口,看A打印的日志,是收到了SC发送的B实例上线通知,但A未刷新本地缓存的B的契约信息。 通过调试发现:A收到B实例上线通知后,会主动从SC拉取B的实例信息,但SC返回的http状态码是304(not changed),这会导致A不会继续执行拉取B的新版本契约,进而出现上述问题。 请问下,该问题是不是1.3.0这个版本的bug?如果是,升级到2.0.0是否可以解决?

xiangyanggong avatar Mar 07 '22 02:03 xiangyanggong

其实这个是设计问题,契约上传跟实例更新本身是两个东西

robotLJW avatar Mar 09 '22 12:03 robotLJW

首先,感谢回答! #我想你描述的“契约上传跟实例更新本身是两个东西”,这句话没问题,但这个仅是我描述的服务发现的一个处理逻辑。我的问题是每个服务新版本第一次都会上传契约,其他依赖于它的服务在version-rule=latest的前提下,肯定是需要动态感知到这个新上线的版本,如果每次需要这个依赖(调用方)通过重启来解决问题,那就是太low了。这个场景要是放在gateway,那线上根本没法用了。servicecomb体系设计肯定是满足这个需求,但不知道为什么,我们的环境刚开始没问题,运行一段时间后,就会出现我说的问题,但我不知道是什么场景会触发这个问题,还不知道稳定复现的方法。 #1046 #1047 会不会导致这个问题呢?

xiangyanggong avatar Mar 10 '22 01:03 xiangyanggong