| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 文档 2.x</title><link>https://dubbo.apache.org/zh-cn/docsv2.7/</link><description>Recent content in 文档 2.x on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/docsv2.7/index.xml" rel="self" type="application/rss+xml"/><item><title>Docsv2.7:</title><link>https://dubbo.apache.org/zh-cn/docsv2.7/dev/impls/page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/docsv2.7/dev/impls/page/</guid><description> |
| <h1 id="页面扩展">页面扩展</h1> |
| <h2 id="扩展说明">扩展说明</h2> |
| <p>对等网络节点组网器。</p> |
| <h2 id="扩展接口">扩展接口</h2> |
| <p><code>org.apache.dubbo.container.page.PageHandler</code></p> |
| <h2 id="扩展配置">扩展配置</h2> |
| <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:protocol</span> page=<span style="color:#2aa198">&#34;xxx,yyy&#34;</span> <span style="color:#268bd2">/&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#586e75">&lt;!-- 缺省值设置,当&lt;dubbo:protocol&gt;没有配置page属性时,使用此配置 --&gt;</span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">&lt;dubbo:provider</span> page=<span style="color:#2aa198">&#34;xxx,yyy&#34;</span> <span style="color:#268bd2">/&gt;</span> |
| </span></span></code></pre></div><h2 id="已知扩展">已知扩展</h2> |
| <ul> |
| <li><code>org.apache.dubbo.container.page.pages.HomePageHandler</code></li> |
| <li><code>org.apache.dubbo.container.page.pages.StatusPageHandler</code></li> |
| <li><code>org.apache.dubbo.container.page.pages.LogPageHandler</code></li> |
| <li><code>org.apache.dubbo.container.page.pages.SystemPageHandler</code></li> |
| </ul> |
| <h2 id="扩展示例">扩展示例</h2> |
| <p>Maven 项目结构:</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-fallback" data-lang="fallback"><span style="display:flex;"><span>src |
| </span></span><span style="display:flex;"><span> |-main |
| </span></span><span style="display:flex;"><span> |-java |
| </span></span><span style="display:flex;"><span> |-com |
| </span></span><span style="display:flex;"><span> |-xxx |
| </span></span><span style="display:flex;"><span> |-XxxPageHandler.java (实现PageHandler接口) |
| </span></span><span style="display:flex;"><span> |-resources |
| </span></span><span style="display:flex;"><span> |-META-INF |
| </span></span><span style="display:flex;"><span> |-dubbo |
| </span></span><span style="display:flex;"><span> |-org.apache.dubbo.container.page.PageHandler (纯文本文件,内容为:xxx=com.xxx.XxxPageHandler) |
| </span></span></code></pre></div><p>XxxPageHandler.java:</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><span style="color:#719e07">package</span> com.xxx; |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#719e07">import</span> org.apache.dubbo.container.page.PageHandler; |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">public</span> <span style="color:#268bd2">class</span> <span style="color:#268bd2">XxxPageHandler</span> <span style="color:#268bd2">implements</span> PageHandler { |
| </span></span><span style="display:flex;"><span> <span style="color:#268bd2">public</span> Group <span style="color:#268bd2">lookup</span>(URL url) { |
| </span></span><span style="display:flex;"><span> <span style="color:#586e75">// ...</span> |
| </span></span><span style="display:flex;"><span> } |
| </span></span><span style="display:flex;"><span>} |
| </span></span></code></pre></div><p>META-INF/dubbo/org.apache.dubbo.container.page.PageHandler:</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>xxx<span style="color:#719e07">=</span><span style="color:#2aa198">com.xxx.XxxPageHandler</span> |
| </span></span></code></pre></div></description></item><item><title>Docsv2.7:</title><link>https://dubbo.apache.org/zh-cn/docsv2.7/dev/principals/introduction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/docsv2.7/dev/principals/introduction/</guid><description> |
| <h1 id="设计原则">设计原则</h1> |
| <p>本章节的设计原则摘录自梁飞在 javaeye 上发表的系列文章。</p></description></item><item><title>Docsv2.7:</title><link>https://dubbo.apache.org/zh-cn/docsv2.7/user/examples/auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/docsv2.7/user/examples/auth/</guid><description> |
| <h1 id="服务鉴权">服务鉴权</h1> |
| <p>类似支付之类的对安全性敏感的业务可能会有限制匿名调用的需求。在加固安全性方面,2.7.5 引入了基于AK/SK机制的认证鉴权机制,并且引入了鉴权服务中心,主要原理是消费端在请求需要鉴权的服务时,会通过SK、请求元数据、时间戳、参数等信息来生成对应的请求签名,通过Dubbo的Attahcment机制携带到对端进行验签,验签通过才进行业务逻辑处理。如下图所示:</p> |
| <p><img src="https://dubbo.apache.org/imgs/docsv2.7/user/examples/auth/auth.png" alt="img"></p> |
| <p>具体的接入方式也并不复杂:</p> |
| <ol> |
| <li> |
| <p>使用者需要在微服务站点上填写自己的应用信息,并为该应用生成唯一的证书凭证。</p> |
| </li> |
| <li> |
| <p>之后在管理站点上提交工单,申请某个敏感业务服务的使用权限,并由对应业务管理者进行审批,审批通过之后,会生成对应的AK/SK到鉴权服务中心。</p> |
| </li> |
| <li> |
| <p>导入该证书到对应的应用下,并且进行配置。配置方式也十分简单,以注解方式为例:</p> |
| <p>服务提供端,只需要设置<code>service.auth</code>为true,表示该服务的调用需要鉴权认证通过。<code>param.sign</code>为<code>true</code>表示需要对参数也进行校验。</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><span style="color:#268bd2">@Service</span>(parameters <span style="color:#719e07">=</span> {<span style="color:#2aa198">&#34;service.auth&#34;</span>,<span style="color:#2aa198">&#34;true&#34;</span>,<span style="color:#2aa198">&#34;param.sign&#34;</span>,<span style="color:#2aa198">&#34;true&#34;</span>}) |
| </span></span><span style="display:flex;"><span><span style="color:#268bd2">public</span> <span style="color:#268bd2">class</span> <span style="color:#268bd2">AuthDemoServiceImpl</span> <span style="color:#268bd2">implements</span> AuthService { |
| </span></span><span style="display:flex;"><span>} |
| </span></span></code></pre></div><p>服务消费端,只需要配置好对应的证书等信息即可,之后会自动地在对这些需要认证的接口发起调用前进行签名操作,通过与鉴权服务的交互,用户无需在代码中配置AK/SK这些敏感信息,并且在不重启应用的情况下刷新AK/SK,达到权限动态下发的目的。</p> |
| </li> |
| </ol> |
| <p>该方案目前已经提交给Dubbo开源社区,并且完成了基本框架的合并,除了AK/SK的鉴权方式之外,通过SPI机制支持用户可定制化的鉴权认证以及适配公司内部基础设施的密钥存储。</p></description></item><item><title>Docsv2.7:</title><link>https://dubbo.apache.org/zh-cn/docsv2.7/user/new-features-in-a-glance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/docsv2.7/user/new-features-in-a-glance/</guid><description> |
| <h1 id="dubbo-版本发布及新特性速览">Dubbo 版本发布及新特性速览</h1> |
| <h2 id="版本速览">版本速览</h2> |
| <p>Dubbo 社区目前主力维护的有 2.6.x 和 2.7.x 两大版本,其中,</p> |
| <ul> |
| <li>2.6.x 主要以 bugfix 和少量 enhancements 为主,因此能完全保证稳定性</li> |
| <li>2.7.x 作为社区的主要开发版本,得到持续更新并增加了大量新 feature 和优化,同时也带来了一些稳定性挑战</li> |
| </ul> |
| <h3 id="27x-版本">2.7.x 版本</h3> |
| <table> |
| <thead> |
| <tr> |
| <th></th> |
| <th>版本</th> |
| <th>重要功能</th> |
| <th>升级建议</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>1</td> |
| <td>2.7.6</td> |
| <td>bugfix of 2.7.5<br /> 服务鉴权</td> |
| <td><strong>推荐生产使用</strong></td> |
| </tr> |
| <tr> |
| <td>2</td> |
| <td>2.7.5</td> |
| <td>服务自省<br />HTTP/2(gRPC) <br />Protobuf <br />TLS<br />性能优化<br /><br /><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5">https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5</a></td> |
| <td>不建议大规模生产使用</td> |
| </tr> |
| <tr> |
| <td>3</td> |
| <td>2.7.4.1</td> |
| <td><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.4.1">bugfixes and enhancements of 2.7.3</a></td> |
| <td><strong>推荐生产使用</strong></td> |
| </tr> |
| <tr> |
| <td>4</td> |
| <td>2.7.3</td> |
| <td><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.3">bigfixes of and enhancements of 2.7.2</a></td> |
| <td><strong>推荐生产使用</strong></td> |
| </tr> |
| <tr> |
| <td>5</td> |
| <td>2.7.2</td> |
| <td><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.2">bigfixes of and enhancements of 2.7.1</a></td> |
| <td>不建议大规模生产使用</td> |
| </tr> |
| <tr> |
| <td>6</td> |
| <td>2.7.1</td> |
| <td><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.1">bigfixes of and enhancements of 2.7.0</a></td> |
| <td>不建议大规模生产使用</td> |
| </tr> |
| <tr> |
| <td>7</td> |
| <td>2.7.0</td> |
| <td>异步编程模型 - 消费端/提供端异步<br />服务治理规则增强<br />简化的注册模型<br />配置中心、元数据中心<br />package 重构<br /><br /><a href="https://github.com/apache/dubbo/releases/tag/dubbo-2.7.0">https://github.com/apache/dubbo/releases/tag/dubbo-2.7.0</a></td> |
| <td>beta 版本,2.6.x 重构后首个版本</td> |
| </tr> |
| </tbody> |
| </table> |
| <h3 id="26x-及之前版本">2.6.x 及之前版本</h3> |
| <table> |
| <thead> |
| <tr> |
| <th></th> |
| <th>版本</th> |
| <th>重要功能</th> |
| <th>升级建议</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>1</td> |
| <td>2.6.x</td> |
| <td>bugfix</td> |
| <td>建议持续升级最新版本,所有版本生产可用</td> |
| </tr> |
| <tr> |
| <td>2</td> |
| <td>2.5.x</td> |
| <td>停止维护</td> |
| <td>建议升级最新 2.6.x 版本</td> |
| </tr> |
| <tr> |
| <td>3</td> |
| <td>2.4.x 及之前</td> |
| <td>停止维护</td> |
| <td>建议升级最新 2.6.x 版本</td> |
| </tr> |
| </tbody> |
| </table> |
| <h2 id="值得关注的新特性">值得关注的新特性</h2> |
| <ul> |
| <li>Dubbo 云原生计划(敬请期待&hellip;)</li> |
| <li>Kubernetes Native Service Discovery(敬请期待&hellip;)</li> |
| <li><a href="../references/protocol/grpc/">gRPC (HTTP/2) 协议</a></li> |
| <li><a href="../examples/protobuf-idl/">使用 Protobuf 定义 Dubbo 服务</a></li> |
| <li><a href="../examples/tls/">TLS 安全传输</a></li> |
| <li>实例级服务发现</li> |
| <li><a href="../examples/auth/">服务鉴权</a></li> |
| <li>性能优化 |
| <ul> |
| <li><a href="https://dubbo.apache.org/zh-cn/blog/2020/05/18/dubbo-java-2.7.5-%E5%8A%9F%E8%83%BD%E8%A7%A3%E6%9E%90/">调用链路提升 30%</a></li> |
| <li><a href="../examples/consumer-threadpool/">消费端线程模型</a></li> |
| <li>地址推送链路</li> |
| </ul> |
| </li> |
| </ul> |
| <h2 id="热门文章列表">热门文章列表</h2> |
| <p><a href="https://dubbo.apache.org/zh-cn/blog/2020/05/11/%E4%BB%8E-2019-%E5%88%B0-2020apache-dubbo-%E5%B9%B4%E5%BA%A6%E5%9B%9E%E9%A1%BE%E4%B8%8E%E6%80%BB%E7%BB%93/">从 2019 到 2020,Apache Dubbo 年度总结</a><br> |
| <a href="https://dubbo.apache.org/zh-cn/blog/2020/05/18/dubbo-java-2.7.5-%E5%8A%9F%E8%83%BD%E8%A7%A3%E6%9E%90/">Dubbo 2.7.5 里程碑版本发布</a><br> |
| <a href="https://dubbo.apache.org/zh-cn/blog/2019/10/28/dubbo-%E5%9C%A8%E8%B7%A8%E8%AF%AD%E8%A8%80%E5%92%8C%E5%8D%8F%E8%AE%AE%E7%A9%BF%E9%80%8F%E6%80%A7%E6%96%B9%E5%90%91%E4%B8%8A%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%94%AF%E6%8C%81-http/2-grpc-%E5%92%8C-protobuf/">Dubbo 在协议与多语言方向的探索:支持 gRPC、Protobuf</a></p></description></item></channel></rss> |