You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2021/07/26 07:56:33 UTC

[dubbo-website] branch master updated: 3.0 doc, benchmarking (#879)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/master by this push:
     new ee19c2c  3.0 doc, benchmarking (#879)
ee19c2c is described below

commit ee19c2c7a21494a05ae2887e4b91dc67ae07ea62
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Jul 26 15:56:24 2021 +0800

    3.0 doc, benchmarking (#879)
---
 .../{references/features => advanced}/accesslog.md |  0
 .../features => advanced}/async-call.md            |  0
 .../async-execute-on-provider.md                   |  0
 .../features => advanced}/attachment.md            |  0
 .../docs/{references/features => advanced}/auth.md |  0
 .../features => advanced}/callback-parameter.md    |  0
 .../features => advanced}/concurrency-control.md   |  0
 .../features => advanced}/config-connections.md    |  0
 .../config-rule-deprecated.md                      |  0
 .../features => advanced}/config-rule.md           |  0
 .../features => advanced}/consumer-threadpool.md   |  0
 .../{references/features => advanced}/context.md   |  0
 .../features => advanced}/delay-publish.md         |  0
 .../distributed-transaction.md                     |  0
 .../docs/{references/features => advanced}/dump.md |  0
 .../features => advanced}/echo-service.md          |  0
 .../features => advanced}/events-notify.md         |  0
 .../features => advanced}/explicit-target.md       |  0
 .../fault-tolerent-strategy.md                     |  0
 .../features => advanced}/generic-reference.md     |  0
 .../features => advanced}/generic-service.md       |  0
 .../features => advanced}/graceful-shutdown.md     |  0
 .../features => advanced}/group-merger.md          |  0
 .../features => advanced}/hostname-binding.md      |  0
 .../features => advanced}/lazy-connect.md          |  0
 .../features => advanced}/loadbalance.md           |  0
 .../features => advanced}/local-call.md            |  0
 .../features => advanced}/local-mock.md            |  0
 .../features => advanced}/local-stub.md            |  0
 .../features => advanced}/logger-strategy.md       |  0
 .../features => advanced}/multi-protocols.md       |  0
 .../features => advanced}/multi-registry.md        |  0
 .../features => advanced}/multi-versions.md        |  0
 .../{references/features => advanced}/netty4.md    |  0
 .../features => advanced}/parameter-validation.md  |  0
 .../features => advanced}/pb-generic-reference.md  |  0
 .../features => advanced}/preflight-check.md       |  0
 .../features => advanced}/protobuf-idl.md          |  0
 .../reference-config-cache.md                      |  0
 .../features => advanced}/registry-only.md         |  0
 .../features => advanced}/result-cache.md          |  0
 .../routing-rule-deprecated.md                     |  0
 .../features => advanced}/routing-rule.md          |  0
 .../features => advanced}/serialization.md         |  0
 .../features => advanced}/service-container.md     |  0
 .../features => advanced}/service-downgrade.md     |  0
 .../features => advanced}/service-group.md         |  0
 .../{references/features => advanced}/set-host.md  |  0
 .../simplify-registry-data.md                      |  0
 .../features => advanced}/static-service.md        |  0
 .../features => advanced}/stickiness.md            |  0
 .../features => advanced}/subscribe-only.md        |  0
 .../features => advanced}/thread-model.md          |  0
 .../docs/{references/features => advanced}/tls.md  |  0
 .../features => advanced}/token-authorization.md   |  0
 content/zh/docs/performance/_index.md              |  9 +++
 content/zh/docs/performance/benchmarking.md        | 92 ++++++++++++++++++++++
 content/zh/docs/references/features/_index.md      | 12 ---
 static/imgs/v3/performance/registry-gc.svg         |  3 +
 static/imgs/v3/performance/registry-mem.svg        |  3 +
 static/imgs/v3/performance/rpc-dubbo.svg           |  3 +
 static/imgs/v3/performance/rpc-triple.svg          |  3 +
 62 files changed, 113 insertions(+), 12 deletions(-)

diff --git a/content/zh/docs/references/features/accesslog.md b/content/zh/docs/advanced/accesslog.md
similarity index 100%
rename from content/zh/docs/references/features/accesslog.md
rename to content/zh/docs/advanced/accesslog.md
diff --git a/content/zh/docs/references/features/async-call.md b/content/zh/docs/advanced/async-call.md
similarity index 100%
rename from content/zh/docs/references/features/async-call.md
rename to content/zh/docs/advanced/async-call.md
diff --git a/content/zh/docs/references/features/async-execute-on-provider.md b/content/zh/docs/advanced/async-execute-on-provider.md
similarity index 100%
rename from content/zh/docs/references/features/async-execute-on-provider.md
rename to content/zh/docs/advanced/async-execute-on-provider.md
diff --git a/content/zh/docs/references/features/attachment.md b/content/zh/docs/advanced/attachment.md
similarity index 100%
rename from content/zh/docs/references/features/attachment.md
rename to content/zh/docs/advanced/attachment.md
diff --git a/content/zh/docs/references/features/auth.md b/content/zh/docs/advanced/auth.md
similarity index 100%
rename from content/zh/docs/references/features/auth.md
rename to content/zh/docs/advanced/auth.md
diff --git a/content/zh/docs/references/features/callback-parameter.md b/content/zh/docs/advanced/callback-parameter.md
similarity index 100%
rename from content/zh/docs/references/features/callback-parameter.md
rename to content/zh/docs/advanced/callback-parameter.md
diff --git a/content/zh/docs/references/features/concurrency-control.md b/content/zh/docs/advanced/concurrency-control.md
similarity index 100%
rename from content/zh/docs/references/features/concurrency-control.md
rename to content/zh/docs/advanced/concurrency-control.md
diff --git a/content/zh/docs/references/features/config-connections.md b/content/zh/docs/advanced/config-connections.md
similarity index 100%
rename from content/zh/docs/references/features/config-connections.md
rename to content/zh/docs/advanced/config-connections.md
diff --git a/content/zh/docs/references/features/config-rule-deprecated.md b/content/zh/docs/advanced/config-rule-deprecated.md
similarity index 100%
rename from content/zh/docs/references/features/config-rule-deprecated.md
rename to content/zh/docs/advanced/config-rule-deprecated.md
diff --git a/content/zh/docs/references/features/config-rule.md b/content/zh/docs/advanced/config-rule.md
similarity index 100%
rename from content/zh/docs/references/features/config-rule.md
rename to content/zh/docs/advanced/config-rule.md
diff --git a/content/zh/docs/references/features/consumer-threadpool.md b/content/zh/docs/advanced/consumer-threadpool.md
similarity index 100%
rename from content/zh/docs/references/features/consumer-threadpool.md
rename to content/zh/docs/advanced/consumer-threadpool.md
diff --git a/content/zh/docs/references/features/context.md b/content/zh/docs/advanced/context.md
similarity index 100%
rename from content/zh/docs/references/features/context.md
rename to content/zh/docs/advanced/context.md
diff --git a/content/zh/docs/references/features/delay-publish.md b/content/zh/docs/advanced/delay-publish.md
similarity index 100%
rename from content/zh/docs/references/features/delay-publish.md
rename to content/zh/docs/advanced/delay-publish.md
diff --git a/content/zh/docs/references/features/distributed-transaction.md b/content/zh/docs/advanced/distributed-transaction.md
similarity index 100%
rename from content/zh/docs/references/features/distributed-transaction.md
rename to content/zh/docs/advanced/distributed-transaction.md
diff --git a/content/zh/docs/references/features/dump.md b/content/zh/docs/advanced/dump.md
similarity index 100%
rename from content/zh/docs/references/features/dump.md
rename to content/zh/docs/advanced/dump.md
diff --git a/content/zh/docs/references/features/echo-service.md b/content/zh/docs/advanced/echo-service.md
similarity index 100%
rename from content/zh/docs/references/features/echo-service.md
rename to content/zh/docs/advanced/echo-service.md
diff --git a/content/zh/docs/references/features/events-notify.md b/content/zh/docs/advanced/events-notify.md
similarity index 100%
rename from content/zh/docs/references/features/events-notify.md
rename to content/zh/docs/advanced/events-notify.md
diff --git a/content/zh/docs/references/features/explicit-target.md b/content/zh/docs/advanced/explicit-target.md
similarity index 100%
rename from content/zh/docs/references/features/explicit-target.md
rename to content/zh/docs/advanced/explicit-target.md
diff --git a/content/zh/docs/references/features/fault-tolerent-strategy.md b/content/zh/docs/advanced/fault-tolerent-strategy.md
similarity index 100%
rename from content/zh/docs/references/features/fault-tolerent-strategy.md
rename to content/zh/docs/advanced/fault-tolerent-strategy.md
diff --git a/content/zh/docs/references/features/generic-reference.md b/content/zh/docs/advanced/generic-reference.md
similarity index 100%
rename from content/zh/docs/references/features/generic-reference.md
rename to content/zh/docs/advanced/generic-reference.md
diff --git a/content/zh/docs/references/features/generic-service.md b/content/zh/docs/advanced/generic-service.md
similarity index 100%
rename from content/zh/docs/references/features/generic-service.md
rename to content/zh/docs/advanced/generic-service.md
diff --git a/content/zh/docs/references/features/graceful-shutdown.md b/content/zh/docs/advanced/graceful-shutdown.md
similarity index 100%
rename from content/zh/docs/references/features/graceful-shutdown.md
rename to content/zh/docs/advanced/graceful-shutdown.md
diff --git a/content/zh/docs/references/features/group-merger.md b/content/zh/docs/advanced/group-merger.md
similarity index 100%
rename from content/zh/docs/references/features/group-merger.md
rename to content/zh/docs/advanced/group-merger.md
diff --git a/content/zh/docs/references/features/hostname-binding.md b/content/zh/docs/advanced/hostname-binding.md
similarity index 100%
rename from content/zh/docs/references/features/hostname-binding.md
rename to content/zh/docs/advanced/hostname-binding.md
diff --git a/content/zh/docs/references/features/lazy-connect.md b/content/zh/docs/advanced/lazy-connect.md
similarity index 100%
rename from content/zh/docs/references/features/lazy-connect.md
rename to content/zh/docs/advanced/lazy-connect.md
diff --git a/content/zh/docs/references/features/loadbalance.md b/content/zh/docs/advanced/loadbalance.md
similarity index 100%
rename from content/zh/docs/references/features/loadbalance.md
rename to content/zh/docs/advanced/loadbalance.md
diff --git a/content/zh/docs/references/features/local-call.md b/content/zh/docs/advanced/local-call.md
similarity index 100%
rename from content/zh/docs/references/features/local-call.md
rename to content/zh/docs/advanced/local-call.md
diff --git a/content/zh/docs/references/features/local-mock.md b/content/zh/docs/advanced/local-mock.md
similarity index 100%
rename from content/zh/docs/references/features/local-mock.md
rename to content/zh/docs/advanced/local-mock.md
diff --git a/content/zh/docs/references/features/local-stub.md b/content/zh/docs/advanced/local-stub.md
similarity index 100%
rename from content/zh/docs/references/features/local-stub.md
rename to content/zh/docs/advanced/local-stub.md
diff --git a/content/zh/docs/references/features/logger-strategy.md b/content/zh/docs/advanced/logger-strategy.md
similarity index 100%
rename from content/zh/docs/references/features/logger-strategy.md
rename to content/zh/docs/advanced/logger-strategy.md
diff --git a/content/zh/docs/references/features/multi-protocols.md b/content/zh/docs/advanced/multi-protocols.md
similarity index 100%
rename from content/zh/docs/references/features/multi-protocols.md
rename to content/zh/docs/advanced/multi-protocols.md
diff --git a/content/zh/docs/references/features/multi-registry.md b/content/zh/docs/advanced/multi-registry.md
similarity index 100%
rename from content/zh/docs/references/features/multi-registry.md
rename to content/zh/docs/advanced/multi-registry.md
diff --git a/content/zh/docs/references/features/multi-versions.md b/content/zh/docs/advanced/multi-versions.md
similarity index 100%
rename from content/zh/docs/references/features/multi-versions.md
rename to content/zh/docs/advanced/multi-versions.md
diff --git a/content/zh/docs/references/features/netty4.md b/content/zh/docs/advanced/netty4.md
similarity index 100%
rename from content/zh/docs/references/features/netty4.md
rename to content/zh/docs/advanced/netty4.md
diff --git a/content/zh/docs/references/features/parameter-validation.md b/content/zh/docs/advanced/parameter-validation.md
similarity index 100%
rename from content/zh/docs/references/features/parameter-validation.md
rename to content/zh/docs/advanced/parameter-validation.md
diff --git a/content/zh/docs/references/features/pb-generic-reference.md b/content/zh/docs/advanced/pb-generic-reference.md
similarity index 100%
rename from content/zh/docs/references/features/pb-generic-reference.md
rename to content/zh/docs/advanced/pb-generic-reference.md
diff --git a/content/zh/docs/references/features/preflight-check.md b/content/zh/docs/advanced/preflight-check.md
similarity index 100%
rename from content/zh/docs/references/features/preflight-check.md
rename to content/zh/docs/advanced/preflight-check.md
diff --git a/content/zh/docs/references/features/protobuf-idl.md b/content/zh/docs/advanced/protobuf-idl.md
similarity index 100%
rename from content/zh/docs/references/features/protobuf-idl.md
rename to content/zh/docs/advanced/protobuf-idl.md
diff --git a/content/zh/docs/references/features/reference-config-cache.md b/content/zh/docs/advanced/reference-config-cache.md
similarity index 100%
rename from content/zh/docs/references/features/reference-config-cache.md
rename to content/zh/docs/advanced/reference-config-cache.md
diff --git a/content/zh/docs/references/features/registry-only.md b/content/zh/docs/advanced/registry-only.md
similarity index 100%
rename from content/zh/docs/references/features/registry-only.md
rename to content/zh/docs/advanced/registry-only.md
diff --git a/content/zh/docs/references/features/result-cache.md b/content/zh/docs/advanced/result-cache.md
similarity index 100%
rename from content/zh/docs/references/features/result-cache.md
rename to content/zh/docs/advanced/result-cache.md
diff --git a/content/zh/docs/references/features/routing-rule-deprecated.md b/content/zh/docs/advanced/routing-rule-deprecated.md
similarity index 100%
rename from content/zh/docs/references/features/routing-rule-deprecated.md
rename to content/zh/docs/advanced/routing-rule-deprecated.md
diff --git a/content/zh/docs/references/features/routing-rule.md b/content/zh/docs/advanced/routing-rule.md
similarity index 100%
rename from content/zh/docs/references/features/routing-rule.md
rename to content/zh/docs/advanced/routing-rule.md
diff --git a/content/zh/docs/references/features/serialization.md b/content/zh/docs/advanced/serialization.md
similarity index 100%
rename from content/zh/docs/references/features/serialization.md
rename to content/zh/docs/advanced/serialization.md
diff --git a/content/zh/docs/references/features/service-container.md b/content/zh/docs/advanced/service-container.md
similarity index 100%
rename from content/zh/docs/references/features/service-container.md
rename to content/zh/docs/advanced/service-container.md
diff --git a/content/zh/docs/references/features/service-downgrade.md b/content/zh/docs/advanced/service-downgrade.md
similarity index 100%
rename from content/zh/docs/references/features/service-downgrade.md
rename to content/zh/docs/advanced/service-downgrade.md
diff --git a/content/zh/docs/references/features/service-group.md b/content/zh/docs/advanced/service-group.md
similarity index 100%
rename from content/zh/docs/references/features/service-group.md
rename to content/zh/docs/advanced/service-group.md
diff --git a/content/zh/docs/references/features/set-host.md b/content/zh/docs/advanced/set-host.md
similarity index 100%
rename from content/zh/docs/references/features/set-host.md
rename to content/zh/docs/advanced/set-host.md
diff --git a/content/zh/docs/references/features/simplify-registry-data.md b/content/zh/docs/advanced/simplify-registry-data.md
similarity index 100%
rename from content/zh/docs/references/features/simplify-registry-data.md
rename to content/zh/docs/advanced/simplify-registry-data.md
diff --git a/content/zh/docs/references/features/static-service.md b/content/zh/docs/advanced/static-service.md
similarity index 100%
rename from content/zh/docs/references/features/static-service.md
rename to content/zh/docs/advanced/static-service.md
diff --git a/content/zh/docs/references/features/stickiness.md b/content/zh/docs/advanced/stickiness.md
similarity index 100%
rename from content/zh/docs/references/features/stickiness.md
rename to content/zh/docs/advanced/stickiness.md
diff --git a/content/zh/docs/references/features/subscribe-only.md b/content/zh/docs/advanced/subscribe-only.md
similarity index 100%
rename from content/zh/docs/references/features/subscribe-only.md
rename to content/zh/docs/advanced/subscribe-only.md
diff --git a/content/zh/docs/references/features/thread-model.md b/content/zh/docs/advanced/thread-model.md
similarity index 100%
rename from content/zh/docs/references/features/thread-model.md
rename to content/zh/docs/advanced/thread-model.md
diff --git a/content/zh/docs/references/features/tls.md b/content/zh/docs/advanced/tls.md
similarity index 100%
rename from content/zh/docs/references/features/tls.md
rename to content/zh/docs/advanced/tls.md
diff --git a/content/zh/docs/references/features/token-authorization.md b/content/zh/docs/advanced/token-authorization.md
similarity index 100%
rename from content/zh/docs/references/features/token-authorization.md
rename to content/zh/docs/advanced/token-authorization.md
diff --git a/content/zh/docs/performance/_index.md b/content/zh/docs/performance/_index.md
new file mode 100755
index 0000000..23c57b4
--- /dev/null
+++ b/content/zh/docs/performance/_index.md
@@ -0,0 +1,9 @@
+
+---
+type: docs
+title: "性能优化 & 基准测试"
+linkTitle: "性能优化"
+weight: 80
+description: ""
+---
+
diff --git a/content/zh/docs/performance/benchmarking.md b/content/zh/docs/performance/benchmarking.md
new file mode 100644
index 0000000..2d71283
--- /dev/null
+++ b/content/zh/docs/performance/benchmarking.md
@@ -0,0 +1,92 @@
+1 Benchmark 结论
+
+对比 2.x 版本,Dubbo3 版本
+
+- 服务发现资源利用率显著提升。
+  - 对比接口级服务发现,单机常驻内存下降  50%,地址变更期 GC 消耗下降一个数量级 (百次 -> 十次)
+  - 对比应用级服务发现,单机常驻内存下降 75%,GC 次数趋零
+- Dubbo 协议性能持平,Triple 协议在网关、Stream吞吐量方面更具优势。
+  - Dubbo协议 (3.0 vs 2.x),3.0 实现较 2.x 总体 qps rt 持平,略有提升
+  - Triple协议 vs Dubbo协议,直连调用场景 Triple 性能并无优势,其优势在网关、Stream调用场景。
+
+
+
+以下是详细压测过程与数据
+
+2 应用级服务发现(地址推送链路)
+
+此部分压测数据是由工商银行 Dubbo 团队基于内部生产数据给出,压测过程模拟了“生产环境地址+zookeeper”的服务发现架构。
+
+2.1 环境
+
+| **压测数据** | 提供者<br/>500运行实例✖️8interface✖️5protocol,即每个提供者向注册中心注册40个URL,总计20000个URL,每个URL字符长度约1k。<br/><br/>注册中心<br/>2个独立zookeeper注册中心,服务提供者消费者采用并行配置。<br/><br/>消费者<br/>配置1c2g,xmx=768,开启GC,从2个注册中心订阅,每5秒调用一次服务。运行20小时。 |
+| ------------ | ------------------------------------------------------------ |
+| **压测环境** | Java version "1.8.0"<br/>Java(TM) SE Runtime Enviroment (build pxa6480sr3fp12-20160919_01(SR3 FP12))<br/>IBM J9 VM (Build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20160915_318796, JIT enabled, AOT enabled) |
+
+
+2.2 数据分析
+
+![//imgs/v3/performance/registry-mem.svg](/imgs/v3/performance/registry-mem.svg)
+
+<br />图一 服务发现模型内存占用变化<br /><br />
+
+- Dubbo3 接口级服务发现模型,常驻内存较 2.x 版本下降约  50%
+- Dubbo3 应用级服务发现模型,常驻内存较 2.x 版本下降约  75%
+
+
+![//imgs/v3/performance/registry-gc.svg](/imgs/v3/performance/registry-gc.svg)
+
+<br />图二 服务发现模型 GC 变化<br /><br />
+
+- Dubbo3 接口级服务发现模型,YGC 次数 2.x 版本大幅下降,从数百次下降到十几次
+- Dubbo3 应用级服务发现模型,FGC 次数 2.x 版本大幅下降,从数百次下降到零次
+
+
+
+3 RPC 协议(远程调用链路)
+
+- Dubbo3 的 _Dubbo协议 _实现与 Dubbo2 版本在性能上基本持平。
+- 由于 Triple协议 本身是基于 HTTP/2 构建,因此在单条链路上的 RPC 调用并未比基于 TCP 的 Dubbo2 有提升,反而在某些调用场景出现一定下降。但 _Triple协议 _更大的优势在于网关穿透性、通用性,以及 Stream 通信模型带来的总体吞吐量提升。
+- Triple 预期在网关代理场景下一定会有更好的性能表现,鉴于当前压测环境,本轮 benchmark 暂未提供。
+
+
+
+3.1 环境
+
+
+| **机器**     | 4C8G Linux JDK 1.8(Provider)4C8G Linux JDK 1.8 (Consumer) |
+| ------------ | ------------------------------------------------------------ |
+| **压测用例** | RPC 方法类型包括:无参无返回值、普通pojo返回值、pojo列表返回值<br /><br />2.7 版本 Dubbo 协议(Hessian2 序列化)<br />3.0 版本 Dubbo 协议(Hessian2 序列化)<br />3.0 版本 Dubbo 协议(Protobuf 序列化)<br />3.0 版本 Triple 协议(Protobuf 序列化)<br />3.0 版本 Triple 协议(Protobuf 套 Hessian2 序列化) |
+| **压测方法** | 单链接场景下,消费端起 32 并发线程(当前机器配置 qps rt 较均衡的并发数),持续压后采集压测数据<br /> 压测数据通过 https://github.com/apache/dubbo-benchmark 得出 |
+
+<br />
+
+3.2 数据分析
+
+| **Dubbo + Hessian2****2.7** | **Dubbo + Hessian2****3.0** | **Dubbo + Protobuf****3.0** |
+| --------------------------- | --------------------------- | --------------------------- |
+| 30333 ops/s2.5ms P99        | 30414 ops/s2.4ms P99        | 24123 ops/s3.2ms P99        |
+| 8984 ops/s6.1 ms P99        | 12279 ops/s5.7 ms P99       | 21479 ops/s3.0 ms P99       |
+| 1916 ops/s34 ms P99         | 2037 ops/s34 ms P99         | 12722 ops/s7.7 ms P99       |
+
+3.2.1 Dubbo 协议不同版本实现对比
+
+![//imgs/v3/performance/rpc-dubbo.svg](/imgs/v3/performance/rpc-dubbo.svg)
+
+<br />图三  Dubbo协议在不同版本的实现对比<br />就 Dubbo RPC + Hessian 的默认组合来说,Dubbo3 与 Dubbo2 在性能上在不同调用场景下基本持平
+
+3.2.2 Dubbo协议 vs Triple协议
+
+![//imgs/v3/performance/rpc-triple.svg](/imgs/v3/performance/rpc-triple.svg)
+
+<br />图四 Triple vs Dubbo<br />单纯看 Consumer <-> Provider 的点对点调用,可以看出 Triple 协议本身并不占优势,同样使用 Protobuf 序列化方式,Dubbo RPC 协议总体性能还是要优于 Triple。<br /><br />
+
+Triple 实现在 3.0 版本中将会得到持续优化,但不能完全改变在某些场景下“基于 HTTP/2 的 RPC 协议”对比“基于 TCP 的 RPC 协议”处于劣势的局面
+
+3.2.3 补充网关场景
+
+TBD<br /><br />
+
+3.3.4 模拟 Stream 通信场景的吞吐量提升
+
+TBD
diff --git a/content/zh/docs/references/features/_index.md b/content/zh/docs/references/features/_index.md
deleted file mode 100644
index 4d8c77a..0000000
--- a/content/zh/docs/references/features/_index.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-type: docs
-title: "功能列表与用法示例"
-linkTitle: "功能列表"
-weight: 6
-description: "通过示例学习 Dubbo 的用法"
----
-
-{{% alert title="Tips" color="primary" %}}
-想完整的运行起来,请参见:[快速启动](../quick-start),这里只列出各种场景的配置方式。
-以下示例全部使用基于 Spring 的 [Xml配置](../configuration/xml)作为参考,如果不想使用 Spring,而希望通过 API 的方式进行调用,请参见:[API配置](../configuration/api)
-{{% /alert %}}
diff --git a/static/imgs/v3/performance/registry-gc.svg b/static/imgs/v3/performance/registry-gc.svg
new file mode 100644
index 0000000..c4bbd1b
--- /dev/null
+++ b/static/imgs/v3/performance/registry-gc.svg
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg viewBox='0 0 884 650' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve'><g font-family='Arial' font-size='11px' fill='none' fill-rule='evenodd' stroke-linecap='square'><rect id='b707' x='0' y='0' width='884' height='650'/><use xlink:href='#b707' fill='#ffffff'/><rect id='b708' x='79' y='79' width='779' height='441'/><use xlink:href='#b708' fill='#ffffff'/><line id='b709' x1='78.5' y1='520.5' x2='858.5' y2='520.5'/><use xlink:href='#b7 [...]
\ No newline at end of file
diff --git a/static/imgs/v3/performance/registry-mem.svg b/static/imgs/v3/performance/registry-mem.svg
new file mode 100644
index 0000000..71f25e7
--- /dev/null
+++ b/static/imgs/v3/performance/registry-mem.svg
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg viewBox='0 0 884 650' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve'><g font-family='Arial' font-size='11px' fill='none' fill-rule='evenodd' stroke-linecap='square'><rect id='b1' x='0' y='0' width='884' height='650'/><use xlink:href='#b1' fill='#ffffff'/><rect id='b2' x='79' y='79' width='779' height='441'/><use xlink:href='#b2' fill='#ffffff'/><line id='b3' x1='78.5' y1='520.5' x2='858.5' y2='520.5'/><use xlink:href='#b3' stroke=' [...]
\ No newline at end of file
diff --git a/static/imgs/v3/performance/rpc-dubbo.svg b/static/imgs/v3/performance/rpc-dubbo.svg
new file mode 100644
index 0000000..f022d4d
--- /dev/null
+++ b/static/imgs/v3/performance/rpc-dubbo.svg
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg viewBox='0 0 680 500' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve'><defs><linearGradient id='b821' x1='81.5' y1='0.5' x2='162.5' y2='0.5' spreadMethod='pad' gradientUnits='userSpaceOnUse'><stop offset='0' stop-color='#7f3319'/><stop offset='0.0117188' stop-color='#9b3e1f'/><stop offset='0.0234375' stop-color='#a74221'/><stop offset='0.0351562' stop-color='#b04623'/><stop offset='0.046875' stop-color='#b74924'/><stop offset='0.062 [...]
\ No newline at end of file
diff --git a/static/imgs/v3/performance/rpc-triple.svg b/static/imgs/v3/performance/rpc-triple.svg
new file mode 100644
index 0000000..9969845
--- /dev/null
+++ b/static/imgs/v3/performance/rpc-triple.svg
@@ -0,0 +1,3 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 20010904//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg viewBox='0 0 680 500' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve'><g font-family='Arial' font-size='11px' fill='none' fill-rule='evenodd' stroke-linecap='square'><rect id='b1' x='0' y='0' width='680' height='500'/><use xlink:href='#b1' fill='#ffffff'/><rect id='b2' x='61' y='61' width='609' height='349'/><use xlink:href='#b2' fill='#ffffff'/><line id='b3' x1='60.5' y1='410.5' x2='670.5' y2='410.5'/><use xlink:href='#b3' stroke=' [...]
\ No newline at end of file