We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consumer引用多注册中心的provider,只有一个provider能使用 debug发现,其他的reference在设置serviceUrls时(ServiceInstancesChangedListener#onEvent)拿不到MetadataInfo 多配置中心没有生效。实际MetadataReportInstance只持有一个MetadataReport。
通过MetadataReportInstance#init发现
if (!init.compareAndSet(false, true)) { return; }
只会init一次 为什么会这么设计呢?
DefaultApplicationDeployer#startMetadataCenter里关于配置中心的设置 for (MetadataReportConfig metadataReportConfig : metadataReportConfigs) { ConfigValidationUtils.validateMetadataConfig(metadataReportConfig); if (!metadataReportConfig.isValid()) { logger.info("Ignore invalid metadata-report config: " + metadataReportConfig); continue; } metadataReportInstance.init(metadataReportConfig); }
The text was updated successfully, but these errors were encountered:
应用级服务发现时,consumer多注册中心使用同名的provider,某个注册中心的服务下线,会通知所有的registry,导致所有的reference都失效。重启后除了这个注册中心的服务可用,其他服务不可用。
Sorry, something went wrong.
看你的描述 应该不是 tri 协议导致的把? 因为对于服务注册和发现 不在协议层处理。也就是说,如果描述的现象存在,那就是个共性问题
是的,应该是服务发现的问题,接口级可以通过group来区分同名接口的通知,应用级group都是default不可修改,所以就会有通知的问题。
该问题将在 3.0.6 版本中修复
当前参见 3.0-metadata-refactor 分支
No branches or pull requests
Environment
Steps to reproduce this issue
consumer引用多注册中心的provider,只有一个provider能使用
debug发现,其他的reference在设置serviceUrls时(ServiceInstancesChangedListener#onEvent)拿不到MetadataInfo
多配置中心没有生效。实际MetadataReportInstance只持有一个MetadataReport。
通过MetadataReportInstance#init发现
只会init一次
为什么会这么设计呢?
The text was updated successfully, but these errors were encountered: