在 Dubbo 中自动加载环境变量
从 2.7.3 版本开始,Dubbo 会自动从约定 key 中读取配置,并将配置以 Key-Value 的形式写入到URL中。
支持的 key 有以下两个:
dubbo.labels
,指定一些列配置到 URL 中的键值对,通常通过 JVM -D 或系统环境变量指定。 增加以下配置:
最终生成的 URL 会包含 tag1、tag2 两个 key:# JVM -Ddubbo.labels = "tag1=value1; tag2=value2" # 环境变量 DUBBO_LABELS = "tag1=value1; tag2=value2"
dubbo://xxx?tag1=value1&tag2=value2
dubbo.env.keys
,指定环境变量 key 值,Dubbo 会尝试从环境变量加载每个 key
最终生成的 URL 会包含 DUBBO_TAG1、DUBBO_TAG2 两个 key:# JVM -Ddubbo.env.keys = "DUBBO_TAG1, DUBBO_TAG2" # 环境变量 DUBBO_ENV_KEYS = "DUBBO_TAG1, DUBBO_TAG2"
dubbo://xxx?DUBBO_TAG1=value1&DUBBO_TAG2=value2
下一节:Pod 的生命周期 与服务调度息息相关,通过对 Kubernetes 官方探针的实现,能够使 Dubbo 乃至整个应用的生命周期与 Pod 的生命周期对齐。
通过 Dubbo 的 SPI 机制,在内部实现多种“探针”,基于 Dubbo QOS 运维模块的 HTTP 服务,使容器探针能够获取到应用内对应探针的状态。另外,SPI 的实现机制也利于用户自行拓展内部“探针”,使整个应用的生命周期更有效的进行管控。