This is an automated email from the ASF dual-hosted git repository. wangxin pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-website.git
The following commit(s) were added to refs/heads/asf-site by this push: new 305f756 修改章节 2.7.x升级步骤及注意事项 中的单词拼写错误问题 (#272) 305f756 is described below commit 305f75601ff51bd3f54b8c8a650dd24db01eb02c Author: yuxiao <yuxiao9...@163.com> AuthorDate: Wed Jan 30 22:17:37 2019 +0800 修改章节 2.7.x升级步骤及注意事项 中的单词拼写错误问题 (#272) * 修改单词拼写错误 --- docs/zh-cn/user/versions/version-270.md | 2 +- zh-cn/docs/user/versions/version-270.html | 342 ------------------------------ 2 files changed, 1 insertion(+), 343 deletions(-) diff --git a/docs/zh-cn/user/versions/version-270.md b/docs/zh-cn/user/versions/version-270.md index 27b6a03..f19a794 100644 --- a/docs/zh-cn/user/versions/version-270.md +++ b/docs/zh-cn/user/versions/version-270.md @@ -222,7 +222,7 @@ dubbo.protocol.port=20880 -Maven坐标升级比较直观,只需要修改相应的pom文件就可以了;而package变更则可能会带来编译问题,升级过程需要用户修改代码。因此为了减少用户升级成本,让用户可以做到渐进式升级,2.7.0版本继续保留了一些常用基础API和SP`com.alibaba.dubb`的支持。 +Maven坐标升级比较直观,只需要修改相应的pom文件就可以了;而package变更则可能会带来编译问题,升级过程需要用户修改代码。因此为了减少用户升级成本,让用户可以做到渐进式升级,2.7.0版本继续保留了一些常用基础API和SPI`com.alibaba.dubbo`的支持。 #### API编程接口 diff --git a/zh-cn/docs/user/versions/version-270.html b/zh-cn/docs/user/versions/version-270.html deleted file mode 100644 index 94428bb..0000000 --- a/zh-cn/docs/user/versions/version-270.html +++ /dev/null @@ -1,342 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <meta name="keywords" content="version-270" /> - <meta name="description" content="version-270" /> - <!-- 网页标签标题 --> - <title>version-270</title> - <link rel="shortcut icon" href="/img/dubbo.ico"/> - <link rel="stylesheet" href="/build/documentation.css" /> -</head> -<body> - <div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/dubbo_colorful.png"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/menu_gray.png"/><ul><li class="menu-item menu-item-normal"><a [...] -<p>环境要求:需要<strong>Java 8</strong>及以上版本。</p> -<p>2.7.0版本在改造的过程中遵循了一个原则,即<strong>保持与低版本的兼容性,因此从功能层面来说它是与2.6.x及更低版本完全兼容的</strong>。这里所说的兼容性主要是和<a href="#%E5%8C%85%E5%90%8D%E6%94%B9%E9%80%A0">包重命名</a>相关的,接下来会详细说明影响点。另外,虽然功能用法保持向后兼容,但参考本文能帮助您尽快用到2.7.0版本的新特性。</p> -<h2>升级步骤</h2> -<ol> -<li>升级pom到2.7.0(以all-in-one依赖为例)。</li> -</ol> -<pre><code class="language-xml"><span class="hljs-tag"><<span class="hljs-name">properties</span>></span> - <span class="hljs-tag"><<span class="hljs-name">dubbo.version</span>></span>2.7.0<span class="hljs-tag"></<span class="hljs-name">dubbo.version</span>></span> -<span class="hljs-tag"></<span class="hljs-name">properties</span>></span> -<span class="hljs-tag"><<span class="hljs-name">dependencyManagement</span>></span> - <span class="hljs-tag"><<span class="hljs-name">dependencies</span>></span> - <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> - <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.apache.dubbo<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> - <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>dubbo-dependencies-bom<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> - <span class="hljs-tag"><<span class="hljs-name">version</span>></span>${dubbo.version}<span class="hljs-tag"></<span class="hljs-name">version</span>></span> - <span class="hljs-tag"><<span class="hljs-name">type</span>></span>pom<span class="hljs-tag"></<span class="hljs-name">type</span>></span> - <span class="hljs-tag"><<span class="hljs-name">scope</span>></span>import<span class="hljs-tag"></<span class="hljs-name">scope</span>></span> - <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> - <span class="hljs-tag"></<span class="hljs-name">dependencies</span>></span> -<span class="hljs-tag"></<span class="hljs-name">dependencyManagement</span>></span> - -<span class="hljs-tag"><<span class="hljs-name">dependencies</span>></span> - <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> - <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.apache.dubbo<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> - <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>dubbo<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> - <span class="hljs-tag"><<span class="hljs-name">version</span>></span>${dubbo.version}<span class="hljs-tag"></<span class="hljs-name">version</span>></span> - <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> - <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> - <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>io.netty<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> - <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>netty-all<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> - <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> -<span class="hljs-tag"></<span class="hljs-name">dependencies</span>></span> -</code></pre> -<p>如果升级依赖后出现API或SPI扩展相关的编译错误,请参考<a href="#%E5%8C%85%E5%90%8D%E6%94%B9%E9%80%A0">包兼容性问题</a></p> -<p>此时重新部署应用,所有默认行为和2.6.x保持一致,如果要用到2.7的新特性,则需要继续做以下配置(可选):</p> -<ul> -<li>简化的URL</li> -<li>配置元数据中心</li> -<li>使用外部化配置</li> -<li>服务治理规则</li> -<li>使用异步API</li> -</ul> -<p>下面我们就对这几部分的配置分别做详细说明。</p> -<h4>简化的URL</h4> -<pre><code class="language-xml"><span class="hljs-comment"><!-- simplified="true"表示注册简化版的URL到Registry --></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"zookeeper://127.0.0.1:2181"</span> <span class="hljs-attr">simplified</span>=<span class="hljs-string">"true"</span>/></span> -</code></pre> -<pre><code class="language-properties"><span class="hljs-meta">dubbo.registry.simplified</span>=<span class="hljs-string">true</span> -</code></pre> -<p>建议将此配置集中管理,参考<a href="#%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8%E5%8C%96%E9%85%8D%E7%BD%AE">外部化配置</a>。</p> -<blockquote> -<p>URL简化只是剔除了一些纯粹的查询用的参数,并没有做大刀阔斧的服务发现模型改造,因此精简后的URL完全可以被2.6及以下版本的消费端实现服务发现与调用,同样2.7版本也可以发现和调用低版本的提供者。</p> -</blockquote> -<h4>配置元数据中心</h4> -<pre><code class="language-xml"><span class="hljs-tag"><<span class="hljs-name">dubbo:metadata-report</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"redis://127.0.0.1:6379"</span>/></span> -</code></pre> -<pre><code class="language-properties"><span class="hljs-meta">dubbo.metadataReport.address</span>=<span class="hljs-string">redis://127.0.0.1:6379</span> -</code></pre> -<p>建议将此配置集中管理,参考<a href="#%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8%E5%8C%96%E9%85%8D%E7%BD%AE">外部化配置</a>。 -在此了解更多<a href="">元数据中心</a>设计目的与用途。</p> -<h4>使用外部化配置</h4> -<p>需要在项目启动前,使用<a href="https://github.com/apache/incubator-dubbo-ops">最新版本Dubbo-OPS</a>完成外部化配置迁移,理论上配置中心支持所有本地dubbo.properties所支持的配置项。</p> -<p>以XML开发形式为例,假设我们本地有如下配置:</p> -<pre><code class="language-xml"><span class="hljs-tag"><<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"demo-provider"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:conig-center</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"zookeeper://127.0.0.1:2181"</span>/></span> - -<span class="hljs-tag"><<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"zookeeper://127.0.0.1:2181"</span> <span class="hljs-attr">simplified</span>=<span class="hljs-string">"true"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:metadata-report</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"redis://127.0.0.1:6379"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"dubbo"</span> <span class="hljs-attr">port</span>=<span class="hljs-string">"20880"</span>/></span> - -<span class="hljs-tag"><<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"demoService"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"org.apache.dubbo.samples.basic.impl.DemoServiceImpl"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"org.apache.dubbo.samples.basic.api.DemoService"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"demoService"</span>/></span> -</code></pre> -<p>通过<a href="http://47.91.207.147/#/management?key=global">OPS控制台</a>将以下全局配置迁移到配置中心,成为所有应用共享的配置。</p> -<pre><code class="language-properties"><span class="hljs-meta">dubbo.registry.address</span>=<span class="hljs-string">zookeeper://127.0.0.1:2181</span> -<span class="hljs-meta">dubbo.registry.simplified</span>=<span class="hljs-string">true</span> - -<span class="hljs-meta">dubbo.metadataReport.address</span>=<span class="hljs-string">redis://127.0.0.1:6379</span> - -<span class="hljs-meta">dubbo.protocol.name</span>=<span class="hljs-string">dubbo</span> -<span class="hljs-meta">dubbo.protocol.port</span>=<span class="hljs-string">20880</span> -</code></pre> -<p>这样应用开发者只需要关心配置中心的配置。</p> -<pre><code class="language-xml"><span class="hljs-tag"><<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"demo-provider"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:conig-center</span> <span class="hljs-attr">address</span>=<span class="hljs-string">"zookeeper://127.0.0.1:2181"</span>/></span> - -<span class="hljs-tag"><<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"demoService"</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"org.apache.dubbo.samples.basic.impl.DemoServiceImpl"</span>/></span> -<span class="hljs-tag"><<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">"org.apache.dubbo.samples.basic.api.DemoService"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"demoService"</span>/></span> -</code></pre> -<p>这里增加了一篇<a href="">Dubbo配置方式</a>的说明文档,详细描述了Dubbo当前支持的配置类型、不同配置之间的覆盖关系等。</p> -<h4>服务治理规则迁移</h4> -<p>2.7版本可以读取到老的治理规则,因此不用担心升级2.7的应用后老规则会失效,可以选择先升级上线,再慢慢的做增量式规则迁移。</p> -<p>请参考<a href="http://47.91.207.147/#/governance/routingRule">OPS -> 服务治理</a>了解规则配置方式,这里我们重点关注的是规则格式,以下提供几个简单示例:</p> -<ul> -<li> -<p>条件路由</p> -<pre><code class="language-yaml"><span class="hljs-meta">---</span> -<span class="hljs-attr">scope:</span> <span class="hljs-string">application</span> -<span class="hljs-attr">force:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">runtime:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">key:</span> <span class="hljs-string">governance-conditionrouter-consumer</span> -<span class="hljs-attr">conditions:</span> -<span class="hljs-bullet"> -</span> <span class="hljs-string">application=app1</span> <span class="hljs-string">=></span> <span class="hljs-string">address=*:20880</span> -<span class="hljs-bullet"> -</span> <span class="hljs-string">application=app2</span> <span class="hljs-string">=></span> <span class="hljs-string">address=*:20881</span> -<span class="hljs-string">...</span> -</code></pre> -</li> -<li> -<p>标签路由</p> -<pre><code class="language-yaml"><span class="hljs-meta">---</span> -<span class="hljs-attr">force:</span> <span class="hljs-literal">false</span> -<span class="hljs-attr">runtime:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">key:</span> <span class="hljs-string">governance-tagrouter-provider</span> -<span class="hljs-attr">tags:</span> -<span class="hljs-attr"> - name:</span> <span class="hljs-string">tag1</span> -<span class="hljs-attr"> addresses:</span> <span class="hljs-string">["127.0.0.1:20880"]</span> -<span class="hljs-attr"> - name:</span> <span class="hljs-string">tag2</span> -<span class="hljs-attr"> addresses:</span> <span class="hljs-string">["127.0.0.1:20881"]</span> -<span class="hljs-string">...</span> -</code></pre> -</li> -<li> -<p>动态配置(覆盖规则)</p> -<pre><code class="language-yaml"><span class="hljs-meta">---</span> -<span class="hljs-attr">scope:</span> <span class="hljs-string">service</span> -<span class="hljs-attr">key:</span> <span class="hljs-string">org.apache.dubbo.samples.governance.api.DemoService</span> -<span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span> -<span class="hljs-attr">configs:</span> -<span class="hljs-attr">- addresses:</span> <span class="hljs-string">[0.0.0.0]</span> -<span class="hljs-attr"> side:</span> <span class="hljs-string">consumer</span> -<span class="hljs-attr"> parameters:</span> -<span class="hljs-attr"> timeout:</span> <span class="hljs-number">6000</span> -<span class="hljs-string">...</span> -</code></pre> -</li> -</ul> -<p>关于治理规则更多详细说明,请参考<a href="/docs/zh-cn/user/demos/routing-rule.md">路由规则</a>和<a href="/docs/zh-cn/user/demos/config-rule.md">覆盖规则</a>用户文档。</p> -<p>也可继续了解<a href="https://github.com/apache/incubator-dubbo-samples/tree/samples-for-2.7.0-SNAPSHOT/dubbo-samples-governance">使用示例</a>。</p> -<h4>使用异步API</h4> -<p>这部分的接口和低版本同样是完全兼容的,你仅须在打算使用CompletableFuture<T>提供的回调或者异步组装能力时,再考虑升级这部分内容即可。</p> -<ul> -<li> -<p>定义CompletableFuture<T>类型接口</p> -</li> -<li> -<p>同步签名接口实现Provider端异步执行</p> -</li> -<li> -<p>感知异步返回值的Filter链路</p> -</li> -</ul> -<p>点击链接,了解关于异步API如何使用的更多<a href="">使用示例</a>。</p> -<h2>包名改造</h2> -<ol> -<li>Maven坐标</li> -</ol> -<p><strong>groupId 由 <code>com.alibaba</code> 改为 <code>org.apache.dubbo</code></strong></p> -<ol start="2"> -<li>package</li> -</ol> -<p><strong>package 由 <code>com.alibaba.dubbo</code> 改为 <code>org.apache.dubbo</code></strong></p> -<p>Maven坐标升级比较直观,只需要修改相应的pom文件就可以了;而package变更则可能会带来编译问题,升级过程需要用户修改代码。因此为了减少用户升级成本,让用户可以做到渐进式升级,2.7.0版本继续保留了一些常用基础API和SP<code>com.alibaba.dubb</code>的支持。</p> -<h4>API编程接口</h4> -<ul> -<li>注解</li> -</ul> -<table> -<thead> -<tr> -<th>注解</th> -<th>说明</th> -</tr> -</thead> -<tbody> -<tr> -<td>@Reference</td> -<td>消费端服务引用注解</td> -</tr> -<tr> -<td>@Service</td> -<td>提供端服务暴露注解</td> -</tr> -<tr> -<td>@EnableDubbo</td> -<td></td> -</tr> -<tr> -<td>其他常用Spring注解API</td> -<td></td> -</tr> -</tbody> -</table> -<ul> -<li>编程API</li> -</ul> -<table> -<thead> -<tr> -<th>API</th> -<th>说明</th> -</tr> -</thead> -<tbody> -<tr> -<td>ReferenceConfig</td> -<td>Service配置采集和引用编程接口</td> -</tr> -<tr> -<td>ServiceConfig</td> -<td>Service配置采集和暴露编程接口</td> -</tr> -<tr> -<td>ApplicationConfig</td> -<td>Application配置采集API</td> -</tr> -<tr> -<td>RegistryConfig</td> -<td>注册中心配置采集API</td> -</tr> -<tr> -<td>ConsumerConfig</td> -<td>提供端默认配置采集API</td> -</tr> -<tr> -<td>ProviderConfig</td> -<td>消费端默认配置采集API</td> -</tr> -<tr> -<td>ProtocolConfig</td> -<td>RPC协议配置采集API</td> -</tr> -<tr> -<td>ArcumentConfig</td> -<td>服务参数级配置采集API</td> -</tr> -<tr> -<td>MethodConfig</td> -<td>服务方法级配置采集API</td> -</tr> -<tr> -<td>ModuleConfig</td> -<td>服务治理Module配置采集API</td> -</tr> -<tr> -<td>MonitorConfig</td> -<td>监控配置采集API</td> -</tr> -<tr> -<td>RpcContext</td> -<td>编程上下文API</td> -</tr> -</tbody> -</table> -<h4>SPI扩展</h4> -<blockquote> -<p>如果公司内部有维护的自定义SPI扩展库,在业务工程升级到2.7.0之前,请务必先确保扩展库与2.7.0的兼容性。如果发现有兼容性问题,请通过修改包名引用的方式完成升级,并重新打包。</p> -</blockquote> -<table> -<thead> -<tr> -<th>SPI扩展点</th> -<th>说明</th> -</tr> -</thead> -<tbody> -<tr> -<td>Registry</td> -<td>包括<code>RegistryFactory</code>, <code>Registry</code> ,<code>RegistryService</code>等扩展点</td> -</tr> -<tr> -<td>Protocol</td> -<td>RPC协议扩展</td> -</tr> -<tr> -<td>Serialization</td> -<td>序列化协议扩展</td> -</tr> -<tr> -<td>Cluster</td> -<td>集群容错策略扩展,如Failover, Failfast等</td> -</tr> -<tr> -<td>Loadbalance</td> -<td>负载均衡策略扩展</td> -</tr> -<tr> -<td>Transporter</td> -<td>传输框架扩展,如Netty等</td> -</tr> -<tr> -<td>Monitor</td> -<td>监控中心扩展,包括MonitorFactory, Monitor, MonitorService等</td> -</tr> -<tr> -<td>Router</td> -<td>路由规则扩展</td> -</tr> -<tr> -<td>Filter</td> -<td>拦截器扩展</td> -</tr> -</tbody> -</table> -<h2>FAQ</h2> -<ol> -<li>升级后启动出现curator依赖报错</li> -</ol> -</div></section><footer class="footer-container"><div class="footer-body"><img src="/img/dubbo_gray.png"/><img class="apache" src="/img/apache_logo.png"/><div class="cols-container"><div class="col col-12"><h3>Disclaimer</h3><p>Apache Dubbo is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making [...] - <script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script> - <script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script> - <script> - window.rootPath = ''; - </script> - <script src="/build/documentation.js"></script> - <!-- Global site tag (gtag.js) - Google Analytics --> - <script async src="https://www.googletagmanager.com/gtag/js?id=UA-112489517-1"></script> - <script> - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('js', new Date()); - - gtag('config', 'UA-112489517-1'); - </script> -</body> -</html> \ No newline at end of file