-
Notifications
You must be signed in to change notification settings - Fork 813
New issue
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
Proposal: 对接 Nacos 配置中心 | Nacos As Config Center #975
Comments
感兴趣的同学可以认领这个任务,如有疑问可以留言 |
可以分给我 |
简单用了下 nacos 的配置,有几个问题:
是不是这样改比较好一点:
|
|
个人感觉 Kitex 动态配置模型是不是不应该强依赖 nacos 的概念来做? 主要有几点考虑:
/cc @felix021 @whalecold |
是的,我们讨论了这个问题,初步结论如下:
|
支持自定义 group 和 dataid,自定义格式之间用 默认值
用户也可以灵活配置,例如:
|
用户的服务名里出现 . 是不是比较常见? 比如 psm 都是有 . 的 |
nacos 本身有一些限制,分隔符选择的不多,还有下划线和中划线,有什么推荐的吗 @CoderPoet |
如果只有这几个选择,确实比较尴尬,个人感觉这几个里面,可能服务名里用下划线的会相对少一点 |
现在用户可以自定义的,只是默认用了 |
动态配置逻辑里并不需要从 dataid 里取这些值是么? |
每个规则的配置名称都是确定的,比如说有个 bookinfo 的 client 要去开启 retry 的规则,那么 dataid 肯定就是 bookinfo..retry,这时候去订阅制定的配置就好了~ nacos clinet 提供了 ListenConfig 的接口 |
OK,那感觉用 |
字段:group 字段:dataId 补充了下 Proposal, @felix021 你更新下哈 |
This module is implemented in https://github.com/kitex-contrib/config-nacos/ |
This module is implemented in: https://github.com/kitex-contrib/config-nacos/
背景
目标
基于本文描述的配置存储参考规范:
配置存储参考规范
根据 Nacos OpenAPI,每一份配置由 (namespaceId, group, dataId) 三元组唯一标识。
客户端配置
超时:Category=rpc_timeout
配置信息格式为 JSON,其 Schema 为
说明:
例如:Echo 方法链接超时 50ms、请求超时 1s,其他方法连接超时 100ms、请求超时 2s
注:Kitex 只区分连接超时和读写超时,因此只需要指定两个字段即可。
重试:Category=retry
配置信息格式为 JSON,其 Schema 为
说明:
例如:Echo 方法启用备用请求(200ms后未返回则发出),其他请求都默认失败重试3次
注:retry.Container 内置支持用 * 通配符指定默认配置(详见 getRetryer 方法)
熔断:Category=circuit_break
配置信息格式为 JSON,其 Schema 为
注:
例如:Echo 方法使用下面的配置(0.3、100),其他方法使用全局默认配置(0.5、200)
注:kitex 的熔断实现目前不支持修改全局默认配置(详见 initServiceCB)
服务端
限流:Category=limit
配置信息格式为 JSON,其 Schema 为 limiter.LimiterConfig
例如:最大100并发 && 每 100ms 内最大 2000QPS
注:
参考
The text was updated successfully, but these errors were encountered: