| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 配置中心</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/</link><description>Recent content in 配置中心 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: Zookeeper</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/zookeeper/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/zookeeper/</guid><description> |
| <h2 id="1-前置条件">1 前置条件</h2> |
| <ul> |
| <li>了解 <a href="../../../quick-start/spring-boot/">Dubbo 基本开发步骤</a></li> |
| <li>安装并启动 <a href="https://zookeeper.apache.org/">Zookeeper</a></li> |
| </ul> |
| <h2 id="2-使用说明">2 使用说明</h2> |
| <p>在此查看<a href="https://github.com/apache/dubbo-samples/tree/master/3-extensions/configcenter/dubbo-samples-configcenter-annotation">完整示例代码</a></p> |
| <h3 id="21-增加-maven-依赖">2.1 增加 Maven 依赖</h3> |
| <p>如果项目已经启用 Zookeeper 作为注册中心,则无需增加任何额外配置。</p> |
| <p>如果未使用 Zookeeper 注册中心,则请参考 <a href="../../registry/zookeeper/#21-%E5%A2%9E%E5%8A%A0-maven-%E4%BE%9D%E8%B5%96">为注册中心增加 Zookeeper 相关依赖</a>。</p> |
| <h3 id="22-启用-zookeeper-配置中心">2.2 启用 Zookeeper 配置中心</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:config-center</span> address=<span style="color:#2aa198">&#34;zookeeper://127.0.0.1:2181&#34;</span><span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: zookeeper://127.0.0.1:2181 |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.config-center.address<span style="color:#719e07">=</span><span style="color:#2aa198">zookeeper://127.0.0.1:2181</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ConfigCenterConfig configCenter <span style="color:#719e07">=</span> <span style="color:#719e07">new</span> ConfigCenterConfig(); |
| </span></span><span style="display:flex;"><span>configCenter.setAddress(<span style="color:#2aa198">&#34;zookeeper://127.0.0.1:2181&#34;</span>); |
| </span></span></code></pre></div><p><code>address</code> 格式请参考 <a href="../../registry/zookeeper/#22-%E9%85%8D%E7%BD%AE%E5%B9%B6%E5%90%AF%E7%94%A8-zookeeper">zookeeper 注册中心 - 启用配置</a></p> |
| <h2 id="3-高级配置">3 高级配置</h2> |
| <p>如要开启认证鉴权,请参考 <a href="../../registry/zookeeper/#31-%E8%AE%A4%E8%AF%81%E4%B8%8E%E9%89%B4%E6%9D%83">zookeeper 注册中心 - 启用认证鉴权</a></p> |
| <h3 id="31-定制外部化配置-key">3.1 定制外部化配置 key</h3> |
| <p><strong>1. 启用外部化配置,并指定 key</strong></p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">config-file</span>: dubbo.properties |
| </span></span></code></pre></div><p><code>config-file</code> - 外部化配置文件 key 值,默认 <code>dubbo.properties</code>。<code>config-file</code> 代表将 Dubbo 配置文件存储在远端注册中心时,文件在配置中心对应的 key 值,通常不建议修改此配置项。</p> |
| <p><strong>2. Zookeeper 配置中心增加配置</strong> |
| 外部化配置的存储结构如下图所示</p> |
| <p><img src="https://dubbo.apache.org/imgs/user/zk-configcenter.jpg" alt="zk-configcenter.jpg"></p> |
| <ul> |
| <li>namespace,用于不同配置的环境隔离。</li> |
| <li>config,Dubbo约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。</li> |
| <li>dubbo 与 application,分别用来隔离全局配置、应用级别配置:dubbo 是默认 group 值,application 对应应用名</li> |
| <li>dubbo.properties,此节点的node value存储具体配置内容</li> |
| </ul> |
| <blockquote> |
| <p>这里是为了说明工作原理,建议使用 dubbo-admin 进行配置管理。</p> |
| </blockquote> |
| <h3 id="32-设置-group-与-namespace">3.2 设置 group 与 namespace</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">group</span>: dubbo-cluster1 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dev1 |
| </span></span></code></pre></div><p>对配置中心而言,<code>group</code> 与 <code>namespace</code> 应该是全公司(集群)统一的,应该避免不同应用使用不同的值,外部化配置和治理规则也应该存放在对应的 group 与 namespace。</p> |
| <h2 id="4-流量治理规则">4 流量治理规则</h2> |
| <p>所有流量治理规则默认都存储在 <code>/dubbo/config</code> 节点下,具体节点结构图如下。流量治理规则的增删改建议通过 dubbo-admin 完成,更多内容可查看 Dubbo 支持的具体流量治理能力</p> |
| <p><img src="https://dubbo.apache.org/imgs/user/zk-configcenter-governance.jpg" alt="zk-configcenter-governance"></p> |
| <ul> |
| <li>namespace,用于不同配置的环境隔离。</li> |
| <li>config,Dubbo 约定的固定节点,不可更改,所有配置和流量治理规则都存储在此节点下。</li> |
| <li>dubbo,所有服务治理规则都是全局性的,dubbo 为默认节点</li> |
| <li>configurators/tag-router/condition-router/migration,不同的服务治理规则类型,node value 存储具体规则内容</li> |
| </ul></description></item><item><title>Overview: Nacos</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/nacos/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/nacos/</guid><description> |
| <h2 id="1-前置条件">1 前置条件</h2> |
| <ul> |
| <li>了解 <a href="../../../quick-start/spring-boot/">Dubbo 基本开发步骤</a></li> |
| <li>安装并启动 <a href="https://nacos.io/zh-cn/docs/quick-start.html">Nacos</a></li> |
| </ul> |
| <blockquote> |
| <p>当Dubbo使用<code>3.0.0</code>及以上版本时,需要使用Nacos <code>2.0.0</code>及以上版本。</p> |
| </blockquote> |
| <h2 id="2-使用说明">2 使用说明</h2> |
| <h3 id="21-增加-maven-依赖">2.1 增加 Maven 依赖</h3> |
| <p>如果项目已经启用 Nacos 作为注册中心,则无需增加任何额外配置。</p> |
| <p>如果未启用 Nacos 注册中心,则请参考 <a href="../../registry/nacos/#21-%E5%A2%9E%E5%8A%A0%E4%BE%9D%E8%B5%96">为注册中心增加 Nacos 依赖</a>。</p> |
| <h3 id="22-启用-nacos-配置中心">2.2 启用 Nacos 配置中心</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:config-center</span> address=<span style="color:#2aa198">&#34;nacos://127.0.0.1:8848&#34;</span><span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: nacos://127.0.0.1:8848 |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.config-center.address<span style="color:#719e07">=</span><span style="color:#2aa198">nacos://127.0.0.1:8848</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ConfigCenterConfig configCenter <span style="color:#719e07">=</span> <span style="color:#719e07">new</span> ConfigCenterConfig(); |
| </span></span><span style="display:flex;"><span>configCenter.setAddress(<span style="color:#2aa198">&#34;nacos://127.0.0.1:8848&#34;</span>); |
| </span></span></code></pre></div><p><code>address</code> 格式请参考 <a href="../../registry/nacos/#22-%E9%85%8D%E7%BD%AE%E5%B9%B6%E5%90%AF%E7%94%A8-nacos">Nacos 注册中心 - 启用配置</a></p> |
| <h2 id="3-高级配置">3 高级配置</h2> |
| <p>如要开启认证鉴权,请参考 <a href="../../registry/nacos/#31-%E8%AE%A4%E8%AF%81">Nacos 注册中心 - 启用认证鉴权</a></p> |
| <h3 id="31-外部化配置">3.1 外部化配置</h3> |
| <h4 id="311-全局外部化配置">3.1.1 全局外部化配置</h4> |
| <p><strong>1. 应用开启 config-center 配置</strong></p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: nacos://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">config-file</span>: dubbo.properties <span style="color:#586e75"># optional</span> |
| </span></span></code></pre></div><p><code>config-file</code> - 全局外部化配置文件 key 值,默认 <code>dubbo.properties</code>。<code>config-file</code> 代表将 Dubbo 配置文件存储在远端注册中心时,文件在配置中心对应的 key 值,通常不建议修改此配置项。</p> |
| <p><strong>2. Nacos Server 增加配置</strong></p> |
| <p><img src="https://dubbo.apache.org/imgs/user/nacos-configcenter-global-properties.png" alt="nacos-configcenter-global-properties.png"></p> |
| <p>dataId 是 <code>dubbo.properties</code>,group 分组与 config-center 保持一致,如未设置则默认填 <code>dubbo</code>。</p> |
| <h4 id="312-应用特有外部化配置">3.1.2 应用特有外部化配置</h4> |
| <p><strong>1. 应用开启 config-center 配置</strong></p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: nacos://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">app-config-file</span>: dubbo.properties <span style="color:#586e75"># optional</span> |
| </span></span></code></pre></div><p><code>app-config-file</code> - 当前应用特有的外部化配置文件 key 值,如 <code>app-name-dubbo.properties</code>,仅在需要覆盖全局外部化配置文件 <code>config-file</code> 时才配置。</p> |
| <p><strong>2. Nacos Server 增加配置</strong></p> |
| <p><img src="https://dubbo.apache.org/imgs/user/nacos-configcenter-application-properties.png" alt="nacos-configcenter-application-properties.png"></p> |
| <p>dataId 是 <code>dubbo.properties</code>,group 分组设置为应用名即 <code>demo-provider</code>。</p> |
| <h3 id="32-设置-group-与-namespace">3.2 设置 group 与 namespace</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: zookeeper://127.0.0.1:2181 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">group</span>: dubbo-cluster1 |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">namespace</span>: dev1 |
| </span></span></code></pre></div><p>对配置中心而言,<code>group</code> 与 <code>namespace</code> 应该是全公司(集群)统一的,应该避免不同应用使用不同的值。</p> |
| <h3 id="33-nacos-扩展配置">3.3 Nacos 扩展配置</h3> |
| <p>更多 Nacos sdk/server 支持的参数配置请参见 <a href="../../registry/nacos/#35-%E6%9B%B4%E5%A4%9A%E9%85%8D%E7%BD%AE">Nacos 注册中心 - 更多配置</a></p> |
| <h2 id="4-流量治理规则">4 流量治理规则</h2> |
| <p>对 Nacos 而言,所有流量治理规则和外部化配置都应该是全局可见的,因此相同逻辑集群内的应用都必须使用相同的 namespace 与 group。其中,namespace 的默认值是 <code>public</code>,group 默认值是 <code>dubbo</code>,应用不得擅自修改 namespace 与 group,除非能保持全局一致。</p> |
| <p>流量治理规则的增删改建议通过 dubbo-admin 完成,更多内容可查看 Dubbo 支持的流量治理能力。</p> |
| <p><img src="https://dubbo.apache.org/imgs/user/nacos-configcenter-governance.png" alt="nacos-configcenter-governance.jpg"></p> |
| <p>流量治理规则有多种类型,不同类型的规则 dataId 的后缀是不同的:</p> |
| <ul> |
| <li>configurators <a href="https://dubbo.apache.org/zh-cn/overview/core-features/traffic/configuration-rule/">覆盖规则</a></li> |
| <li>tag-router <a href="https://dubbo.apache.org/zh-cn/overview/core-features/traffic/tag-rule/">标签路由</a> 与 condition-router <a href="https://dubbo.apache.org/zh-cn/overview/core-features/traffic/condition-rule/">条件路由</a></li> |
| </ul></description></item><item><title>Overview: Apollo</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/apollo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/config-center/apollo/</guid><description> |
| <h2 id="1-前置条件">1 前置条件</h2> |
| <ul> |
| <li>了解 <a href="../../../quick-start/spring-boot/">Dubbo 基本开发步骤</a></li> |
| <li>安装并启动 <a href="https://www.apolloconfig.com/#/zh/README">Apollo</a></li> |
| </ul> |
| <h2 id="2-使用说明">2 使用说明</h2> |
| <p>在此查看<a href="https://github.com/apache/dubbo-samples/tree/master/3-extensions/configcenter/dubbo-samples-configcenter-apollo">完整示例代码</a></p> |
| <h3 id="21-增加-maven-依赖">2.1 增加 Maven 依赖</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dependency&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;groupId&gt;</span>org.apache.dubbo<span style="color:#268bd2">&lt;/groupId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;artifactId&gt;</span>dubbo<span style="color:#268bd2">&lt;/artifactId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;version&gt;</span>3.0.9<span style="color:#268bd2">&lt;/version&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;/dependency&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;dependency&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;groupId&gt;</span>com.ctrip.framework.apollo<span style="color:#268bd2">&lt;/groupId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;artifactId&gt;</span>apollo-openapi<span style="color:#268bd2">&lt;/artifactId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;version&gt;</span>2.0.0<span style="color:#268bd2">&lt;/version&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;/dependency&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;dependency&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;groupId&gt;</span>com.ctrip.framework.apollo<span style="color:#268bd2">&lt;/groupId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;artifactId&gt;</span>apollo-client<span style="color:#268bd2">&lt;/artifactId&gt;</span> |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">&lt;version&gt;</span>2.0.0<span style="color:#268bd2">&lt;/version&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;/dependency&gt;</span> |
| </span></span></code></pre></div><h3 id="22-启用-apollo-配置中心">2.2 启用 Apollo 配置中心</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:config-center</span> address=<span style="color:#2aa198">&#34;apollo://localhost:8080&#34;</span><span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span>dubbo |
| </span></span><span style="display:flex;"><span> config-center |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">address</span>: apollo://localhost:8080 |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.config-center.address<span style="color:#719e07">=</span><span style="color:#2aa198">apollo://localhost:8080</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>ConfigCenterConfig configCenter <span style="color:#719e07">=</span> <span style="color:#719e07">new</span> ConfigCenterConfig(); |
| </span></span><span style="display:flex;"><span>configCenter.setAddress(<span style="color:#2aa198">&#34;apollo://localhost:8080&#34;</span>); |
| </span></span></code></pre></div><h2 id="3-高级配置">3 高级配置</h2> |
| <p>Apollo中的一个核心概念是命名空间 - namespace,和上面 Zookeeper、Nacos 的 namespace 概念不同,因此使用方式上也比较特殊些,建议充分了解 Apollo 自身的用法后再阅读以下文档内容。</p> |
| <p>但总的来说,对 Apollo 的适配而言:</p> |
| <ul> |
| <li>namespace 特用于流量治理规则隔离,参见 3.1</li> |
| <li>group 特用于外部化配置的隔离,参见 3.2</li> |
| </ul> |
| <h3 id="31-外部化配置">3.1 外部化配置</h3> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:config-center</span> group=<span style="color:#2aa198">&#34;demo-provider&#34;</span> address=<span style="color:#2aa198">&#34;apollo://localhost:8080&#34;</span><span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><p>config-center 的 <code>group</code> 决定了 Apollo 读取外部化配置 <code>dubbo.properties</code> 文件的位置:</p> |
| <ol> |
| <li>如果 group 为空,则默认从 <code>dubbo</code> namespace 读取配置,用户须将外部化配置写在 <code>dubbo</code> namespace 下。</li> |
| <li>如果 group 不为空 |
| 2.1 group 值为应用名,则从应用当前的 namespace 读取配置,用户须将外部化配置写在 Apollo 自动指定的应用默认 namespace 下。 |
| 2.2 group 值为任意值,则从对应的 namespace 读取配置,用户须将外部化配置写在该 namespace 下。</li> |
| </ol> |
| <p>如以下示例是用的默认 group=&lsquo;dubbo&rsquo; 的全局外部化配置,即该配置可被所有应用读取到。 |
| <img src="https://dubbo.apache.org/imgs/user/apollo-configcenter-dubbo.png" alt="apollo-configcenter-dubbo.png"></p> |
| <p>如果配置 group=&lsquo;应用名&rsquo; 则是应用特有配置,只有该应用可以读取到。</p> |
| <blockquote> |
| <p>关于外部化文件配置托管,相当于是把 <code>dubbo.properties</code> 配置文件的内容存储在了 Apollo 中。每个应用都可以通过关联共享的 <code>dubbo</code> namespace 继承公共配置, 进而可以单独覆盖个别配置项。</p> |
| </blockquote> |
| <h3 id="32-流量治理规则">3.2 流量治理规则</h3> |
| <p><strong>流量治理规则一定都是全局共享的,因此每个应用内的 namespace 配置都应该保持一致。</strong></p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:config-center</span> namespace=<span style="color:#2aa198">&#34;governance&#34;</span> address=<span style="color:#2aa198">&#34;apollo://localhost:8080&#34;</span><span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><p>config-center 的 <code>namespace</code> 决定了 Apollo 存取 <code>流量治理规则</code> 的位置:</p> |
| <ol> |
| <li>如果 namespace 为空,则默认从 <code>dubbo</code> namespace 存取配置,须治理规则写在 <code>dubbo</code> namespace 下。</li> |
| <li>如果 namespace 不为空,则从对应的 namespace 值读取规则,须治理规则写在该 namespace 下。</li> |
| </ol> |
| <p>如以下示例是通过 <code>namespace='governance'</code> 将流量治理规则放在了 <code>governance</code> namespace 下。 |
| <img src="https://dubbo.apache.org/imgs/user/apollo-configcenter-governance-dubbo.png" alt="apollo-configcenter-governance-dubbo.png"></p> |
| <h3 id="33-更多-apollo-特有配置">3.3 更多 Apollo 特有配置</h3> |
| <p>当前 Dubbo 适配了 env、apollo.meta、apollo.cluster、apollo.id 等特有配置项,可通过 config-center 的扩展参数进行配置。</p> |
| <p>如</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.config-center.address<span style="color:#719e07">=</span><span style="color:#2aa198">apollo://localhost:8080</span> |
| </span></span></code></pre></div><p>或者</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-properties" data-lang="properties"><span style="display:flex;"><span>dubbo.config-center.prameters.apollo.meta<span style="color:#719e07">=</span><span style="color:#2aa198">xxx</span> |
| </span></span><span style="display:flex;"><span>dubbo.config-center.prameters.env<span style="color:#719e07">=</span><span style="color:#2aa198">xxx</span> |
| </span></span></code></pre></div></description></item></channel></rss> |