Skip to content
This repository has been archived by the owner on May 30, 2022. It is now read-only.

多注册中心 #139

Open
OrezzerO opened this issue Dec 17, 2018 · 8 comments
Open

多注册中心 #139

OrezzerO opened this issue Dec 17, 2018 · 8 comments

Comments

@OrezzerO
Copy link

Your question

是否可以支持多注册中心配置,并实现注册中心之间的平滑切换?

Your scenes

我的理解是 sofa-rpc 是支持多注册中心的, 但 sofa-rpc-boot-projects 在配置的时候能配置一个注册中心.

Your advice

  1. 需要改动ProviderConfigHelperRegistryConfigContainer 来实现同时注册多注册中心.
  2. 提供对外接口,动态增加/删除注册中心. 这样就可以通过监听配置变化来切换注册中心了

Environment

  • Starter version: 5.4.8
  • JVM version (e.g. java -version):
  • OS version (e.g. uname -a):
  • Maven version:
  • IDE version:
@leizhiyuan
Copy link
Contributor

你说的多注册中心是怎么样个需求? 是说所有服务同时发到多个注册中心,还是说某个服务可以指定注册中心?

提供对外接口,动态增加/删除注册中心. 这样就可以通过监听配置变化来切换注册中心了 这个感觉没啥必要吧? 背景是什么?

@OrezzerO
Copy link
Author

所有服务同时发到多个注册中心.背景是:

  1. 我想要考虑灾备,在一个注册中心挂了的时候快速启用另一个
  2. zookeeper 从长远来看可能不能满足我们的需求,我们想要有一个平滑迁移的方案

看到了这个 issue : #65 , xml 配置是支持多注册中心了吧? 注解的方式现在可行吗?

@leizhiyuan
Copy link
Contributor

leizhiyuan commented Dec 17, 2018

1.这个感觉不是rpc应该做的,而是注册中心应该自己保证多活?类似这样,现在#65 中的是支持,某些服务同时发到A,B注册中心,但是没有做一个全局就是多个的功能。如果要做,那么配置上,可以配置为zk:/127.0.0.1;zk2:/127.0.0.2;consul://123213:111 ,切换这个功能太小众,目前可能不会考虑开放。
2.你们要迁移到哪种?是现有的还是自研的?

@OrezzerO
Copy link
Author

现状是我们使用 zookeeper, 后续用什么还没定, 应该不会自研. 我最终想实现的是注册中心的平滑升级.

@JervyShi
Copy link
Member

这个平滑升级我理解,服务发布方把服务发布至多个服务注册中心,如 ZK + Consul,假如预期是 ZK -> Consul,服务订阅方逐步切换自己的 Registry 配置至 Consul 就可以了,用任一种发现的地址都是一样的就 OK。

@OrezzerO
Copy link
Author

我们想做的是框架统一做切换,用户没有感知,推着业务方一个一个改比较有难度 :(

@antergone
Copy link

@OrezzerO 那我觉得你们可能缺的不是注册中心平滑迁移的能力,而是统一配置中心。框架要做的是多实现多适配,减少使用者的工作量。你的需求是如何统一将注册中心从ZK切到其他中间件 ,我想这个应该是需要你们的配置中心统一下发一个sofaboot支持的注册中心配置,并做一次统一发布即可。

@OrezzerO
Copy link
Author

OrezzerO commented Apr 8, 2019

@antergone 我们有统一配置中心, 我的想法是做一次统一发布的成本太大了,想在框架层面解决这个问题.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants