This is an automated email from the ASF dual-hosted git repository. hyunkun 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 199f946 fix all links with dubbo-samples folder change (#638) 199f946 is described below commit 199f9460c1274fbf98148580b8a2b6e7aa024e41 Author: Huang YunKun <hty...@gmail.com> AuthorDate: Tue Nov 3 17:57:01 2020 +0800 fix all links with dubbo-samples folder change (#638) --- .github/workflows/deploy.yml | 2 +- .github/workflows/{deploy.yml => pr.yml} | 15 ++++++--------- .gitignore | 1 + .htaccess | 20 ++++++++++++++++++++ baidu_verify_9ea1htgFIo.html | 1 + en-us/blog/dubbo-101.md | 2 +- en-us/blog/dubbo-generic-invoke.md | 2 +- en-us/docs/2.7/user/demos/parameter-validation.md | 2 +- en-us/docs/3.0/user/demos/parameter-validation.md | 2 +- google7362984ffdc17d37.html | 1 + zh-cn/blog/2.7.5-release.md | 2 +- zh-cn/blog/apache-dubbo-2019-2020.md | 4 ++-- zh-cn/blog/dubbo-101.md | 2 +- zh-cn/blog/dubbo-generic-invoke.md | 2 +- zh-cn/docs/2.7/user/demos/group-merger.md | 2 +- zh-cn/docs/2.7/user/demos/parameter-validation.md | 2 +- zh-cn/docs/2.7/user/demos/protobuf-idl.md | 2 +- zh-cn/docs/2.7/user/demos/tls.md | 2 +- zh-cn/docs/2.7/user/references/protocol/gRPC.md | 4 ++-- zh-cn/docs/3.0/user/demos/group-merger.md | 2 +- zh-cn/docs/3.0/user/demos/parameter-validation.md | 2 +- zh-cn/docs/3.0/user/demos/protobuf-idl.md | 2 +- zh-cn/docs/3.0/user/demos/tls.md | 2 +- zh-cn/docs/3.0/user/references/protocol/gRPC.md | 4 ++-- 24 files changed, 51 insertions(+), 31 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 28c080a..087e795 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,7 +22,7 @@ jobs: mkdocs --version echo "removing previous static files from ./output" && rm -rf ./output mkdocs build -f mkdocs_en.yml -d ./output/en-us && mkdocs build -f mkdocs_zh.yml -d ./output/zh-cn - mkdir deploy-dist && cp -R img ./output/zh-cn/ && cp -R img ./output/en-us/ && cp -R ./output/* deploy-dist/ + mkdir deploy-dist && cp -R img ./output/zh-cn/ && cp -R img ./output/en-us/ && cp -R ./output/* deploy-dist/ && cp *.html deploy-dist/ && cp .htaccess deploy-dist/ cp -R schema deploy-dist/ - name: Deploy uses: peaceiris/actions-gh-pages@v2.4.0 diff --git a/.github/workflows/deploy.yml b/.github/workflows/pr.yml similarity index 74% copy from .github/workflows/deploy.yml copy to .github/workflows/pr.yml index 28c080a..394e201 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/pr.yml @@ -1,7 +1,7 @@ -name: Website deploy +name: Website build on: - push: + pull_request: branches: - master @@ -24,11 +24,8 @@ jobs: mkdocs build -f mkdocs_en.yml -d ./output/en-us && mkdocs build -f mkdocs_zh.yml -d ./output/zh-cn mkdir deploy-dist && cp -R img ./output/zh-cn/ && cp -R img ./output/en-us/ && cp -R ./output/* deploy-dist/ cp -R schema deploy-dist/ - - name: Deploy - uses: peaceiris/actions-gh-pages@v2.4.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - PUBLISH_BRANCH: asf-site - PUBLISH_DIR: ./deploy-dist + - name: Archive + uses: actions/upload-artifact@v2 with: - keepFiles: true \ No newline at end of file + name: website + path: deploy-dist/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5a34cf7..7267736 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ build/ index.html md_json/ site/ +deploy_dist/ \ No newline at end of file diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..6739514 --- /dev/null +++ b/.htaccess @@ -0,0 +1,20 @@ +<IfModule mod_expires.c> + ExpiresActive On + + # Images + ExpiresByType image/jpeg "access plus 7 days" + ExpiresByType image/gif "access plus 7 days" + ExpiresByType image/png "access plus 7 days" + ExpiresByType image/webp "access plus 7 days" + ExpiresByType image/svg+xml "access plus 7 days" + ExpiresByType image/x-icon "access plus 7 days" + + + # CSS, JavaScript + ExpiresByType text/css "access plus 1 days" + ExpiresByType text/javascript "access plus 1 days" + ExpiresByType application/javascript "access plus 1 days" + +</IfModule> + +ErrorDocument 404 /404.html \ No newline at end of file diff --git a/baidu_verify_9ea1htgFIo.html b/baidu_verify_9ea1htgFIo.html new file mode 100644 index 0000000..d7d92dd --- /dev/null +++ b/baidu_verify_9ea1htgFIo.html @@ -0,0 +1 @@ +9ea1htgFIo \ No newline at end of file diff --git a/en-us/blog/dubbo-101.md b/en-us/blog/dubbo-101.md index 8ad331d..80020fa 100644 --- a/en-us/blog/dubbo-101.md +++ b/en-us/blog/dubbo-101.md @@ -191,7 +191,7 @@ public class Application { ### Run -The complete example can be found at https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-api. In the complete version, it is convenient to execute by maven in command line with the configuration of *exec-maven-plugin*. Of course, it can also be executed directly in IDE. However, there is one noteworthy thing that because of using assembled way to look up service, it needs to assign *-Djava.net.preferIPv4Stack=true* when running. +The complete example can be found at https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-api. In the complete version, it is convenient to execute by maven in command line with the configuration of *exec-maven-plugin*. Of course, it can also be executed directly in IDE. However, there is one noteworthy thing that because of using assembled way to look up service, it needs to assign *-Djava.net.preferIPv4Stack=true* when running. #### Build Example diff --git a/en-us/blog/dubbo-generic-invoke.md b/en-us/blog/dubbo-generic-invoke.md index 4377ba1..ec1c10d 100644 --- a/en-us/blog/dubbo-generic-invoke.md +++ b/en-us/blog/dubbo-generic-invoke.md @@ -183,4 +183,4 @@ So far, a simple service Mock platform has been successfully launched! ## Others - The generic invoke and generic interface implementations introduced in this article are all based on the native Dubbo protocol. Prior to version 2.6.2, other protocols such as http/hessian don't support generic invoke. Version 2.6.3 will support the generic invoke of these two protocols. -- The relevant sample codes mentioned in this article can be found in dubbo-samples: https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-generic +- The relevant sample codes mentioned in this article can be found in dubbo-samples: https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-generic diff --git a/en-us/docs/2.7/user/demos/parameter-validation.md b/en-us/docs/2.7/user/demos/parameter-validation.md index 060d4e9..dde327c 100644 --- a/en-us/docs/2.7/user/demos/parameter-validation.md +++ b/en-us/docs/2.7/user/demos/parameter-validation.md @@ -179,5 +179,5 @@ public class ValidationConsumer { } ``` -[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to [Sample code in dubbo project] (https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-validation) +[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to [Sample code in dubbo project] (https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-validation) [^2]: The validation method is extensible, refer to [Developer Extension](../../dev/impls/validation.md) in the developer's manual. diff --git a/en-us/docs/3.0/user/demos/parameter-validation.md b/en-us/docs/3.0/user/demos/parameter-validation.md index 060d4e9..dde327c 100644 --- a/en-us/docs/3.0/user/demos/parameter-validation.md +++ b/en-us/docs/3.0/user/demos/parameter-validation.md @@ -179,5 +179,5 @@ public class ValidationConsumer { } ``` -[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to [Sample code in dubbo project] (https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-validation) +[^1]: Support since `2.1.0` version. If you want to know how to use it, refer to [Sample code in dubbo project] (https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-validation) [^2]: The validation method is extensible, refer to [Developer Extension](../../dev/impls/validation.md) in the developer's manual. diff --git a/google7362984ffdc17d37.html b/google7362984ffdc17d37.html new file mode 100644 index 0000000..a94c559 --- /dev/null +++ b/google7362984ffdc17d37.html @@ -0,0 +1 @@ +google-site-verification: google7362984ffdc17d37.html \ No newline at end of file diff --git a/zh-cn/blog/2.7.5-release.md b/zh-cn/blog/2.7.5-release.md index 7fce8b3..fed0644 100644 --- a/zh-cn/blog/2.7.5-release.md +++ b/zh-cn/blog/2.7.5-release.md @@ -167,7 +167,7 @@ if (!mutualTls) {} Dubbo 配置读取规则:[查看](../docs/2.7/user/configuration/configuration-load-process.md) -TLS 示例:https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-ssl +TLS 示例:https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl > 如果要使用的是 gRPC 协议,在开启 TLS 时会使用到协议协商机制,因此必须使用支持 ALPN 机制的 Provider,推荐使用的是 > netty-tcnative,具体可参见 gRPC Java 社区的总结: > https://github.com/grpc/grpc-java/blob/master/SECURITY.md diff --git a/zh-cn/blog/apache-dubbo-2019-2020.md b/zh-cn/blog/apache-dubbo-2019-2020.md index 7d426d1..1db560d 100644 --- a/zh-cn/blog/apache-dubbo-2019-2020.md +++ b/zh-cn/blog/apache-dubbo-2019-2020.md @@ -91,7 +91,7 @@ CompletableFuture<String> future = helloService.sayHello("world"); 为此 2.7.5 版本引入了对 IDL + Protobuf 的支持,以解决跨语言的服务定义问题,具体可参见示例: -[dubbo-samples-protobuf](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-protobuf) +[dubbo-samples-protobuf](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-protobuf) ![service idl](../../img/docs/service-idl.png) @@ -99,7 +99,7 @@ CompletableFuture<String> future = helloService.sayHello("world"); ![idl dubbo compiler](../../img/docs/idl-dubbo-compiler.png) -但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 gRPC 协议时才有意义,具体请参见示例以及下面关于 ”[Dubbo 对 gRPC 的支持](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-rxjava)” 一节的讲解。 +但是需要注意的一定是,由于外围的 Reactive API 需要有底层传输协议的支持才有意义,因此,目前 Reactive API 只能在使用 gRPC 协议时才有意义,具体请参见示例以及下面关于 ”[Dubbo 对 gRPC 的支持](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-rxjava)” 一节的讲解。 ### 性能优化 diff --git a/zh-cn/blog/dubbo-101.md b/zh-cn/blog/dubbo-101.md index 390586e..ea3dab5 100644 --- a/zh-cn/blog/dubbo-101.md +++ b/zh-cn/blog/dubbo-101.md @@ -185,7 +185,7 @@ public class Application { ### 运行 -完整的示例在 https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-api 上提供。在完整的示例中,由于配置了 *exec-maven-plugin*,可以很方便的在命令行下通过 maven 的方式执行。当然,您也可以在 IDE 里直接执行,但是需要注意的是,由于使用了组播的方式来发现服务,运行时需要指定 *-Djava.net.preferIPv4Stack=true*。 +完整的示例在 https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-api 上提供。在完整的示例中,由于配置了 *exec-maven-plugin*,可以很方便的在命令行下通过 maven 的方式执行。当然,您也可以在 IDE 里直接执行,但是需要注意的是,由于使用了组播的方式来发现服务,运行时需要指定 *-Djava.net.preferIPv4Stack=true*。 #### 构建示例 diff --git a/zh-cn/blog/dubbo-generic-invoke.md b/zh-cn/blog/dubbo-generic-invoke.md index 81e6273..b18b5f9 100644 --- a/zh-cn/blog/dubbo-generic-invoke.md +++ b/zh-cn/blog/dubbo-generic-invoke.md @@ -175,4 +175,4 @@ System.out.println(helloService.hello("community")); ## 其他 * 本文介绍的泛化调用和泛接口实现,都是在原生的 `Dubbo` 协议之上的。在 2.6.2 版本之前,其他协议如 http/hessian 等是不支持泛化调用的,2.6.3 版本将会对这两个协议的泛化调用做支持。 -* 本文中提到的相关示例代码可以在 dubbo-samples中找到:https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-generic \ No newline at end of file +* 本文中提到的相关示例代码可以在 dubbo-samples中找到:https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-generic \ No newline at end of file diff --git a/zh-cn/docs/2.7/user/demos/group-merger.md b/zh-cn/docs/2.7/user/demos/group-merger.md index 0c90b2c..bfabb81 100644 --- a/zh-cn/docs/2.7/user/demos/group-merger.md +++ b/zh-cn/docs/2.7/user/demos/group-merger.md @@ -2,7 +2,7 @@ 按组合并返回结果 [^1],比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。 -相关代码可以参考 [dubbo 项目中的示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-merge) +相关代码可以参考 [dubbo 项目中的示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-merge) ## 配置 diff --git a/zh-cn/docs/2.7/user/demos/parameter-validation.md b/zh-cn/docs/2.7/user/demos/parameter-validation.md index 9bc035b..d09672c 100644 --- a/zh-cn/docs/2.7/user/demos/parameter-validation.md +++ b/zh-cn/docs/2.7/user/demos/parameter-validation.md @@ -179,5 +179,5 @@ public class ValidationConsumer { } ``` -[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-validation) +[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-validation) [^2]: 验证方式可扩展,扩展方式参见开发者手册中的[验证扩展](../../dev/impls/validation.md) diff --git a/zh-cn/docs/2.7/user/demos/protobuf-idl.md b/zh-cn/docs/2.7/user/demos/protobuf-idl.md index 463c94b..5ffdbf5 100644 --- a/zh-cn/docs/2.7/user/demos/protobuf-idl.md +++ b/zh-cn/docs/2.7/user/demos/protobuf-idl.md @@ -2,7 +2,7 @@ 当前 Dubbo 的服务定义和具体的编程语言绑定,没有提供一种语言中立的服务描述格式,比如 Java 就是定义 Interface 接口,到了其他语言又得重新以另外的格式定义一遍。 2.7.5 版本通过支持 Protobuf IDL 实现了语言中立的服务定义。 -日后,不论我们使用什么语言版本来开发 Dubbo 服务,都可以直接使用 IDL 定义如下服务,具体请[参见示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-protobuf) +日后,不论我们使用什么语言版本来开发 Dubbo 服务,都可以直接使用 IDL 定义如下服务,具体请[参见示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-protobuf) ```idl syntax = "proto3"; diff --git a/zh-cn/docs/2.7/user/demos/tls.md b/zh-cn/docs/2.7/user/demos/tls.md index 37bf8b9..4c68c76 100644 --- a/zh-cn/docs/2.7/user/demos/tls.md +++ b/zh-cn/docs/2.7/user/demos/tls.md @@ -37,7 +37,7 @@ if (!mutualTls) {} Dubbo 配置读取规则:[点击查看](../configuration/configuration-load-process.md) -TLS 示例:https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-ssl +TLS 示例:https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl > 如果要使用的是 gRPC 协议,在开启 TLS 时会使用到协议协商机制,因此必须使用支持 ALPN 机制的 Provider,推荐使用的是 > netty-tcnative,具体可参见 gRPC Java 社区的总结: > https://github.com/grpc/grpc-java/blob/master/SECURITY.md diff --git a/zh-cn/docs/2.7/user/references/protocol/gRPC.md b/zh-cn/docs/2.7/user/references/protocol/gRPC.md index af6c6b0..1530fd2 100644 --- a/zh-cn/docs/2.7/user/references/protocol/gRPC.md +++ b/zh-cn/docs/2.7/user/references/protocol/gRPC.md @@ -13,7 +13,7 @@ Dubbo 自 2.7.5 版本开始支持 gRPC 协议,对于计划使用 HTTP/2 通 2. 配置 compiler 插件,本地预编译 3. 配置暴露/引用 Dubbo 服务 -具体可参见以下[示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-original) +具体可参见以下[示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-original) -除了原生 StreamObserver 接口类型之外,Dubbo 还支持 [RxJava](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-rxjava)、[Reactor](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-reactor) 编程风格的 API +除了原生 StreamObserver 接口类型之外,Dubbo 还支持 [RxJava](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-rxjava)、[Reactor](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-reactor) 编程风格的 API diff --git a/zh-cn/docs/3.0/user/demos/group-merger.md b/zh-cn/docs/3.0/user/demos/group-merger.md index 0c90b2c..bfabb81 100644 --- a/zh-cn/docs/3.0/user/demos/group-merger.md +++ b/zh-cn/docs/3.0/user/demos/group-merger.md @@ -2,7 +2,7 @@ 按组合并返回结果 [^1],比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。 -相关代码可以参考 [dubbo 项目中的示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-merge) +相关代码可以参考 [dubbo 项目中的示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-merge) ## 配置 diff --git a/zh-cn/docs/3.0/user/demos/parameter-validation.md b/zh-cn/docs/3.0/user/demos/parameter-validation.md index 4f60ae3..bf3845e 100644 --- a/zh-cn/docs/3.0/user/demos/parameter-validation.md +++ b/zh-cn/docs/3.0/user/demos/parameter-validation.md @@ -179,5 +179,5 @@ public class ValidationConsumer { } ``` -[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-validation) +[^1]: 自 `2.1.0` 版本开始支持, 如何使用可以参考 [dubbo 项目中的示例代码](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-validation) [^2]: 验证方式可扩展,扩展方式参见开发者手册中的[验证扩展](../../dev/impls/validation.html) diff --git a/zh-cn/docs/3.0/user/demos/protobuf-idl.md b/zh-cn/docs/3.0/user/demos/protobuf-idl.md index 463c94b..5ffdbf5 100644 --- a/zh-cn/docs/3.0/user/demos/protobuf-idl.md +++ b/zh-cn/docs/3.0/user/demos/protobuf-idl.md @@ -2,7 +2,7 @@ 当前 Dubbo 的服务定义和具体的编程语言绑定,没有提供一种语言中立的服务描述格式,比如 Java 就是定义 Interface 接口,到了其他语言又得重新以另外的格式定义一遍。 2.7.5 版本通过支持 Protobuf IDL 实现了语言中立的服务定义。 -日后,不论我们使用什么语言版本来开发 Dubbo 服务,都可以直接使用 IDL 定义如下服务,具体请[参见示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-protobuf) +日后,不论我们使用什么语言版本来开发 Dubbo 服务,都可以直接使用 IDL 定义如下服务,具体请[参见示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-protobuf) ```idl syntax = "proto3"; diff --git a/zh-cn/docs/3.0/user/demos/tls.md b/zh-cn/docs/3.0/user/demos/tls.md index 37bf8b9..4c68c76 100644 --- a/zh-cn/docs/3.0/user/demos/tls.md +++ b/zh-cn/docs/3.0/user/demos/tls.md @@ -37,7 +37,7 @@ if (!mutualTls) {} Dubbo 配置读取规则:[点击查看](../configuration/configuration-load-process.md) -TLS 示例:https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-ssl +TLS 示例:https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl > 如果要使用的是 gRPC 协议,在开启 TLS 时会使用到协议协商机制,因此必须使用支持 ALPN 机制的 Provider,推荐使用的是 > netty-tcnative,具体可参见 gRPC Java 社区的总结: > https://github.com/grpc/grpc-java/blob/master/SECURITY.md diff --git a/zh-cn/docs/3.0/user/references/protocol/gRPC.md b/zh-cn/docs/3.0/user/references/protocol/gRPC.md index af6c6b0..1530fd2 100644 --- a/zh-cn/docs/3.0/user/references/protocol/gRPC.md +++ b/zh-cn/docs/3.0/user/references/protocol/gRPC.md @@ -13,7 +13,7 @@ Dubbo 自 2.7.5 版本开始支持 gRPC 协议,对于计划使用 HTTP/2 通 2. 配置 compiler 插件,本地预编译 3. 配置暴露/引用 Dubbo 服务 -具体可参见以下[示例](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-original) +具体可参见以下[示例](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-original) -除了原生 StreamObserver 接口类型之外,Dubbo 还支持 [RxJava](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-rxjava)、[Reactor](https://github.com/apache/dubbo-samples/tree/master/java/dubbo-samples-grpc/dubbo-samples-reactor) 编程风格的 API +除了原生 StreamObserver 接口类型之外,Dubbo 还支持 [RxJava](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-rxjava)、[Reactor](https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-grpc/dubbo-samples-reactor) 编程风格的 API