sofastack / sofa-rpc

SOFARPC is a high-performance, high-extensibility, production-level Java RPC framework.
https://www.sofastack.tech/sofa-rpc/docs/Home
Apache License 2.0
3.83k stars 1.18k forks source link

provider.dynamic 配置不生效 #620

Closed OrezzerO closed 4 years ago

OrezzerO commented 5 years ago

Describe the bug

我在 rpc-config.json 中设置"provider.dynamic": false . debug ZookeeperRegistry 中代码, 发现 zk 中 path 的 data 已经设置为 com.alipay.sofa.rpc.registry.zk.ZookeeperRegistry#PROVIDER_OFFLINE . 当我启动客户端的时候, 客户端还能正常连接服务端. 这和我的预期不一致.

PS: 我在源码中搜索 PROVIDER_OFFLINE,也没有看到其他引用它的地方, 是不是这个功能还没好?

Expected behavior

Actual behavior

Steps to reproduce

Minimal yet complete reproducer code (or GitHub URL to code)

Environment

leizhiyuan commented 5 years ago

我看下

leizhiyuan commented 5 years ago

是的,这个目前预留。还未完成。

OrezzerO commented 5 years ago

现在我想控制项目发布,但不自动注册,有好的办法吗? 用 自定义 Router 来做这个事情?

leizhiyuan commented 5 years ago

描述下你期望的整个流程?假设这个功能完成,你如何使用?

OrezzerO commented 5 years ago
  1. Provider A 发布, 注册中心能感知到 Provider A 已经发布, 但是此时 Consumer B不能调用刚发布的这个 Provider A
  2. 在某个 WebConsle 上, 点击发布更改注册中心状态, 此时 Consumer B 可以消费 Provider A.
  3. 当 Provider A 重启后(IP不变) ,Consumer B 能消费 ProviderA

以上就是我期望的流程

leizhiyuan commented 5 years ago

@glmapper 这个我们一起看下,sofa-dashboard 看看能否支持上

OrezzerO commented 5 years ago

@leizhiyuan @glmapper 我准备开始做这个功能了, 具体方案我们一起讨论一下?