This is an automated email from the ASF dual-hosted git repository.
xuetaoli 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 57fd1e85786 fix part of out link (#3157)
57fd1e85786 is described below
commit 57fd1e8578698391293d9934dacbd6a9c43ec8e6
Author: Xuetao Li <[email protected]>
AuthorDate: Sat Nov 15 11:38:51 2025 +0800
fix part of out link (#3157)
* fix out link
* fix redirect link
---
content/en/blog/integration/how-to-proxy-dubbo-in-higress.md | 2 +-
content/en/blog/integration/use-zipkin-in-dubbo.md | 4 ++--
content/en/blog/news/build-new-docker-image-in-dockerhub.md | 2 +-
content/en/blog/news/openatom-opensopurce-competition-2024.md | 8 ++++----
content/en/blog/news/releases/2.7.5.md | 2 +-
content/en/blog/news/releases/dubbo-go-1.5.md | 3 +--
content/en/blog/releases/past-releases.md | 4 ++--
content/en/contact/committer/new-committer-guide_dev.md | 2 +-
content/en/contact/contributor/test-coverage-guide_dev.md | 2 +-
.../committer/new-committer-guide_dev.md | 2 +-
.../contributor/test-coverage-guide_dev.md | 2 +-
.../en/overview/mannual/golang-sdk/tutorial/rpc/protocol.md | 2 +-
.../mannual/java-sdk/reference-manual/protocol/triple.md | 2 +-
.../mannual/java-sdk/reference-manual/registry/overview.md | 2 +-
.../overview/mannual/java-sdk/tasks/extensibility/protocol.md | 2 +-
.../overview/mannual/java-sdk/tasks/extensibility/registry.md | 2 +-
content/en/overview/mannual/java-sdk/tasks/gateway/triple.md | 10 +++++-----
content/en/overview/mannual/java-sdk/tasks/security/tls.md | 2 +-
content/zh-cn/blog/golang/dubbo-go-intro.md | 2 +-
content/zh-cn/blog/integration/dubbo-graalvm-support.md | 2 +-
.../zh-cn/blog/integration/how-to-proxy-dubbo-in-higress.md | 2 +-
content/zh-cn/blog/integration/use-zipkin-in-dubbo.md | 4 ++--
...5\215\347\275\256\344\277\241\346\201\257RegistryConfig.md" | 2 +-
...5\215\347\275\256\344\277\241\346\201\257ProtocolConfig.md" | 4 ++--
...212\240\350\275\275\345\205\250\350\247\243\346\236\220.md" | 2 +-
...217\214\346\263\250\345\206\214\345\216\237\347\220\206.md" | 2 +-
...\241MetadataService\347\232\204\345\257\274\345\207\272.md" | 4 ++--
...345\273\272getAdaptiveExtension\346\226\271\346\263\225.md" | 2 +-
...232\204\346\272\220\347\240\201\350\247\243\346\236\220.md" | 2 +-
...15\347\275\256\344\277\241\346\201\257ApplicationConfig.md" | 2 +-
content/zh-cn/blog/java/demos/dubbo-annotation-driven.md | 2 +-
.../zh-cn/blog/java/proposals/service-discovery-migration.md | 2 +-
content/zh-cn/blog/news/build-new-docker-image-in-dockerhub.md | 2 +-
.../zh-cn/blog/news/openatom-opensopurce-competition-2024.md | 8 ++++----
content/zh-cn/blog/news/releases/2.7.5.md | 2 +-
content/zh-cn/blog/news/releases/dubbo-go-1.5.md | 3 ---
.../zh-cn/blog/proposals/google-service-weaver-paper-2023.md | 2 +-
content/zh-cn/contact/committer/new-committer-guide_dev.md | 2 +-
content/zh-cn/contact/contributor/test-coverage-guide_dev.md | 2 +-
content/zh-cn/docs/advanced/protobuf&interface.md | 2 +-
.../zh-cn/overview/mannual/golang-sdk/tutorial/rpc/protocol.md | 2 +-
.../mannual/java-sdk/reference-manual/protocol/triple.md | 2 +-
.../overview/mannual/java-sdk/tasks/extensibility/protocol.md | 2 +-
.../overview/mannual/java-sdk/tasks/extensibility/registry.md | 2 +-
.../zh-cn/overview/mannual/java-sdk/tasks/gateway/triple.md | 6 +++---
content/zh-cn/overview/mannual/java-sdk/tasks/security/tls.md | 2 +-
layouts/shortcodes/blocks/demo-en.html | 2 +-
layouts/shortcodes/blocks/demo-zh.html | 2 +-
48 files changed, 64 insertions(+), 68 deletions(-)
diff --git a/content/en/blog/integration/how-to-proxy-dubbo-in-higress.md
b/content/en/blog/integration/how-to-proxy-dubbo-in-higress.md
index f9b8975a703..a17bca90158 100644
--- a/content/en/blog/integration/how-to-proxy-dubbo-in-higress.md
+++ b/content/en/blog/integration/how-to-proxy-dubbo-in-higress.md
@@ -18,7 +18,7 @@ Higress provides the capability to convert from HTTP protocol
to Dubbo protocol.
Here is a complete example using `Higress + Dubbo protocol + Nacos registry`:
[dubbo-samples-gateway-higress-dubbo](https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-gateway/dubbo-samples-gateway-higress/dubbo-samples-gateway-higress-dubbo).
## Prerequisites
-1. Higress has been installed with support for Istio CRDs enabled. Refer to
[Higress installation and deployment
documentation](https://higress.io/zh-cn/docs/ops/deploy-by-helm).
+1. Higress has been installed with support for Istio CRDs enabled. Refer to
[Higress installation and deployment
documentation](https://higress.cn/docs/latest/ops/deploy-by-helm/).
## Deploy Nacos and Dubbo Services
diff --git a/content/en/blog/integration/use-zipkin-in-dubbo.md
b/content/en/blog/integration/use-zipkin-in-dubbo.md
index a205b86c6a4..77c02459b23 100644
--- a/content/en/blog/integration/use-zipkin-in-dubbo.md
+++ b/content/en/blog/integration/use-zipkin-in-dubbo.md
@@ -9,11 +9,11 @@ description: >
As business grows, the scale of applications continues to expand, and
traditional application architectures cannot meet demands. The transformation
to a service-oriented architecture is imperative, with distributed service
frameworks like Dubbo becoming essential. As the microservices concept becomes
widely accepted, applications are further segmented into finer granularity, and
different applications are independently managed by various development teams,
resulting in a very complex dis [...]
-Against this backdrop, Google published the paper on
[Dapper](https://ai.google/research/pubs/pub36356), detailing how a distributed
tracing system can address the above issues. Based on this paper, major
internet companies have implemented and deployed their distributed tracing
systems, notable among them being Alibaba's EagleEye. The Zipkin mentioned in
this article is an open-source distributed tracing system by Twitter. The
following sections will explain how to use Zipkin in Dubbo f [...]
+Against this backdrop, Google published the paper on
[Dapper](https://research.google/pubs/dapper-a-large-scale-distributed-systems-tracing-infrastructure/),
detailing how a distributed tracing system can address the above issues. Based
on this paper, major internet companies have implemented and deployed their
distributed tracing systems, notable among them being Alibaba's EagleEye. The
Zipkin mentioned in this article is an open-source distributed tracing system
by Twitter. The followi [...]
## Introduction to Zipkin
-Zipkin is based on the implementation described in the
[Dapper](https://ai.google/research/pubs/pub36356) paper and is an open-source
distributed tracing system developed by Twitter. It achieves tracing of service
call chains and analysis of service execution delays by collecting information
about the execution times of distributed services.
+Zipkin is based on the implementation described in the
[Dapper](https://research.google/pubs/dapper-a-large-scale-distributed-systems-tracing-infrastructure/)
paper and is an open-source distributed tracing system developed by Twitter.
It achieves tracing of service call chains and analysis of service execution
delays by collecting information about the execution times of distributed
services.
### Zipkin Architecture
diff --git a/content/en/blog/news/build-new-docker-image-in-dockerhub.md
b/content/en/blog/news/build-new-docker-image-in-dockerhub.md
index f87450ed429..78b2a7689d5 100644
--- a/content/en/blog/news/build-new-docker-image-in-dockerhub.md
+++ b/content/en/blog/news/build-new-docker-image-in-dockerhub.md
@@ -46,5 +46,5 @@ Additionally, building on DockerHub requires queuing, and
sometimes you may enco
[^apache-repo]: https://hub.docker.com/r/apache
[^request-ticket]: https://issues.apache.org/jira/browse/INFRA-18167
-[^docker-file]:
https://github.com/apache/dubbo-admin/blob/develop/docker/0.1.0/Dockerfile
+[^docker-file]:
https://github.com/apache/dubbo-admin/blob/java/docker/0.1.0/Dockerfile
diff --git a/content/en/blog/news/openatom-opensopurce-competition-2024.md
b/content/en/blog/news/openatom-opensopurce-competition-2024.md
index 779e69a7891..b297a343d8f 100644
--- a/content/en/blog/news/openatom-opensopurce-competition-2024.md
+++ b/content/en/blog/news/openatom-opensopurce-competition-2024.md
@@ -104,8 +104,8 @@ Participants can contribute in two sections:
Relevant source code repositories:
-- Dubbo Java source code:
[https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds)
-- Dubbo Go source code:
[https://github.com/apache/dubbo-go/tree/main/xds](https://github.com/apache/dubbo-go/tree/main/xds)
+- Dubbo Java source code:
[dubbo-xds](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds)
+- Dubbo Go source code:
[xds](https://github.com/apache/dubbo-go/tree/release-3.0/xds)
##### 3.2.2 Control Plane Development Guide:
The xDS Server of the control plane will be implemented by the official
community, and participants should focus on the design and implementation of
security-related components.
@@ -149,9 +149,9 @@ From a user GUI perspective, the menu design can be as
follows:
#### 4.2 Topic Explanation
The official has provided reference implementations for the back-end
adaptation layer and part of the front-end interaction design drafts.
Participants can base their development design on these. Specific scoring
standards can be referred to in the official registration channel.
-1. Back-end:
[https://github.com/apache/dubbo-kubernetes/tree/master/pkg/admin](https://github.com/apache/dubbo-kubernetes/tree/master/pkg/admin)
+1. Back-end:
[admin](https://github.com/apache/dubbo-kubernetes/tree/ospp-2024/pkg/admin)
-2. Front-end code framework:
https://github.com/apache/dubbo-kubernetes/tree/master/ui-vue3
+2. Front-end code framework:
[ui-vue3](https://github.com/apache/dubbo-kubernetes/tree/ospp-2024/ui-vue3)
#### 4.3 Reference Materials
diff --git a/content/en/blog/news/releases/2.7.5.md
b/content/en/blog/news/releases/2.7.5.md
index a7539384af4..97484f8382f 100644
--- a/content/en/blog/news/releases/2.7.5.md
+++ b/content/en/blog/news/releases/2.7.5.md
@@ -171,7 +171,7 @@ To ensure flexibility in application startups, the
specification of TLS Cert can
Dubbo Configuration Reading Rules:
/zh-cn/docs/user/configuration/configuration-load-process.html
-TLS Examples:
https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl
+TLS Examples:
[dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
> If you are using the gRPC protocol, the protocol negotiation mechanism will
> be utilized when enabling TLS. Therefore, you must use a Provider that
> supports the ALPN mechanism, with netty-tcnative being the recommended
> choice. For specifics, please refer to the gRPC Java community's summary:
> https://github.com/grpc/grpc-java/blob/master/SECURITY.md
diff --git a/content/en/blog/news/releases/dubbo-go-1.5.md
b/content/en/blog/news/releases/dubbo-go-1.5.md
index c29820809c9..0edef753beb 100644
--- a/content/en/blog/news/releases/dubbo-go-1.5.md
+++ b/content/en/blog/news/releases/dubbo-go-1.5.md
@@ -91,9 +91,8 @@ On the **registry model**, it supports load balancing across
multiple registry c
Previously, the dubbo-go RPC layer reused the RPC layer of the getty
framework[[^3](https://github.com/AlexStocks/getty/tree/feature/rpc)], failing
to achieve isolation between protocols and application communication addresses.
The Alibaba Middleware Exhibition team restructured the dubbo-go RPC layer to
achieve connection reuse: enabling multi-protocol communication over the same
TCP connection for both consumer and provider ends. The related PR has been
merged and will be released in d [...]
-Currently, the next version is under intense development, and the specific
plans and task lists[^1] are already reflected on GitHub.
+Currently, the next version is under intense development, and the specific
plans and task lists are already reflected on GitHub.
-[^1]: https://github.com/apache/dubbo-go/projects/8
[^2]: https://github.com/seata-golang/seata-golang
[^3]: https://github.com/AlexStocks/getty/tree/feature/rpc
diff --git a/content/en/blog/releases/past-releases.md
b/content/en/blog/releases/past-releases.md
index 7a33df760fe..809aef1bead 100644
--- a/content/en/blog/releases/past-releases.md
+++ b/content/en/blog/releases/past-releases.md
@@ -147,8 +147,8 @@ You can follow these
[procedures](https://www.apache.org/info/verification) and
### 2.6.12 (2021-12-29)
*
[source](https://www.apache.org/dyn/closer.lua/dubbo/2.6.12/apache-dubbo-2.6.12-src.zip)
|
- [asc](https://downloads.apache.org/dubbo/2.6.12/apache-dubbo-v-src.zip.asc) |
-
[sha512](https://downloads.apache.org/dubbo/2.6.12/apache-dubbo-2.6.12-src.zip.sha512)
+
[asc](https://archive.apache.org/dist/dubbo/2.6.12/apache-dubbo-2.6.12-source-release.zip.asc)
|
+
[sha512](https://archive.apache.org/dist/dubbo/2.6.12/apache-dubbo-2.6.12-source-release.zip.sha512)
### 3.0.4 (2021-10-24)
diff --git a/content/en/contact/committer/new-committer-guide_dev.md
b/content/en/contact/committer/new-committer-guide_dev.md
index 43da2ae33c8..45231aacdc8 100644
--- a/content/en/contact/committer/new-committer-guide_dev.md
+++ b/content/en/contact/committer/new-committer-guide_dev.md
@@ -15,7 +15,7 @@ weight: 1
### Initial Committers during Project Incubation
-During the project incubation phase, there will be an option for the initial
committers list in the incubation project proposal. Confirm that you are one of
the initial committers. Once the project is voted through by the Apache
Incubator community, committers can begin preparing to register their accounts.
Refer to the [incubator wiki](https://wiki.apache.org/incubator/).
+During the project incubation phase, there will be an option for the initial
committers list in the incubation project proposal. Confirm that you are one of
the initial committers. Once the project is voted through by the Apache
Incubator community, committers can begin preparing to register their accounts.
Refer to the [incubator
wiki](https://cwiki.apache.org/confluence/display/incubator).
### Active Contributors Elected as Committers
diff --git a/content/en/contact/contributor/test-coverage-guide_dev.md
b/content/en/contact/contributor/test-coverage-guide_dev.md
index 355ae0e8ae1..0b7d4cd542a 100644
--- a/content/en/contact/contributor/test-coverage-guide_dev.md
+++ b/content/en/contact/contributor/test-coverage-guide_dev.md
@@ -19,7 +19,7 @@ weight: 7
* Pay attention to boundary conditions.
* Unit tests should also be well-designed; do not write useless code.
* When you find a `method` difficult to unit test, if it can be confirmed that
this `method` is `smelly code`, then refactor it together with the developer.
-* The mock framework used in Dubbo is: [mockito](http://site.mockito.org/).
Below are some developer guides: [mockito
tutorial](https://www.baeldung.com/bdd-mockito), [mockito
refcard](https://dzone.com/refcardz/mockito)
+* The mock framework used in Dubbo is: [mockito](http://site.mockito.org/).
Below are some developer guides: [mockito
tutorial](https://www.baeldung.com/bdd-mockito), [mockito
refcard](https://site.mockito.org/)
* TDD (optional): When you start writing a new feature, you can try to write
the test cases first.
### Test Coverage Threshold
* At this stage, the test coverage threshold for Delta changes is: >=60%, the
higher the better.
diff --git
a/content/en/latest/contribution-guidelines/committer/new-committer-guide_dev.md
b/content/en/latest/contribution-guidelines/committer/new-committer-guide_dev.md
index c93bc9a9ca6..34fd353d452 100644
---
a/content/en/latest/contribution-guidelines/committer/new-committer-guide_dev.md
+++
b/content/en/latest/contribution-guidelines/committer/new-committer-guide_dev.md
@@ -10,7 +10,7 @@ weight: 1
### 项目孵化初始化提交者
-项目孵化阶段,在孵化项目提案中,会有初始化提交者列表这一选项。确认你是初始化提交者的一员。项目在 apache
孵化器社区投票通过后,提交者可以开始准备注册账户了。可以参看[孵化器 wiki](https://wiki.apache.org/incubator/)
+项目孵化阶段,在孵化项目提案中,会有初始化提交者列表这一选项。确认你是初始化提交者的一员。项目在 apache
孵化器社区投票通过后,提交者可以开始准备注册账户了。可以参看[孵化器
wiki](https://cwiki.apache.org/confluence/display/incubator)
### 活跃的贡献者被选举为提交者
diff --git
a/content/en/latest/contribution-guidelines/contributor/test-coverage-guide_dev.md
b/content/en/latest/contribution-guidelines/contributor/test-coverage-guide_dev.md
index 876b6dfa46d..4126710adff 100644
---
a/content/en/latest/contribution-guidelines/contributor/test-coverage-guide_dev.md
+++
b/content/en/latest/contribution-guidelines/contributor/test-coverage-guide_dev.md
@@ -14,7 +14,7 @@ weight: 7
* 注意边界条件。
* 单元测试也应该好好设计,不要写无用的代码。
* 当你发现一个`方法`很难写单元测试时,如果可以确认这个`方法`是`臭代码`,那么就和开发者一起重构它。
-* Dubbo中用的mock框架是: [mockito](http://site.mockito.org/). 下面是一些开发向导:[mockito
tutorial](https://www.baeldung.com/bdd-mockito),[mockito
refcard](https://dzone.com/refcardz/mockito)
+* Dubbo中用的mock框架是: [mockito](http://site.mockito.org/). 下面是一些开发向导:[mockito
tutorial](https://www.baeldung.com/bdd-mockito),[mockito
refcard](https://site.mockito.org/)
* TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。
### 测试覆盖率设定值
* 在现阶段,Delta更改代码的测试覆盖设定值为:>=60%,越高越好。
diff --git a/content/en/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
b/content/en/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
index b10487510ec..f9887acd66d 100644
--- a/content/en/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
+++ b/content/en/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
@@ -137,5 +137,5 @@ The Dubbo framework supports protocol extensions.
Currently, the officially supp
* dubbo
* jsonrpc
-In some scenarios, you can publish services of multiple protocols
simultaneously within one application or call services with different protocols
simultaneously. Here is a [usage example for multi-protocol
publishing](https://github.com/apache/dubbo-go-samples/tree/main/multirpc) for
reference.
+In some scenarios, you can publish services of multiple protocols
simultaneously within one application or call services with different protocols
simultaneously. Here is a [usage example for multi-protocol
publishing](https://github.com/apache/dubbo-go-samples/tree/main/rpc/multi-protocols)
for reference.
diff --git
a/content/en/overview/mannual/java-sdk/reference-manual/protocol/triple.md
b/content/en/overview/mannual/java-sdk/reference-manual/protocol/triple.md
index f4f0b655066..85c3d9af625 100644
--- a/content/en/overview/mannual/java-sdk/reference-manual/protocol/triple.md
+++ b/content/en/overview/mannual/java-sdk/reference-manual/protocol/triple.md
@@ -312,5 +312,5 @@ message AnchorInfo {
#### 5. Community Resources
* Community homepage: https://developers.google.cn/protocol-buffers/
* Community open source address: https://github.com/google/protobuf
-* Relevant JARs in Maven: https://search.maven.org/search?q=com.google.protobuf
+* Relevant JARs in Maven:
https://central.sonatype.com/search?q=com.google.protobuf
diff --git
a/content/en/overview/mannual/java-sdk/reference-manual/registry/overview.md
b/content/en/overview/mannual/java-sdk/reference-manual/registry/overview.md
index bc1f16d26e2..331f89cabba 100644
--- a/content/en/overview/mannual/java-sdk/reference-manual/registry/overview.md
+++ b/content/en/overview/mannual/java-sdk/reference-manual/registry/overview.md
@@ -82,7 +82,7 @@ The mainstream registry implementations currently supported
by Dubbo include:
* Etcd
* More implementations
-It also supports service discovery in Kubernetes and Mesh architectures. For
more details, refer to [Tutorial - Kubernetes
Deployment](http://localhost:1313/zh-cn/overview/mannual/java-sdk/tasks/deploy/).
+It also supports service discovery in Kubernetes and Mesh architectures. For
more details, refer to [Tutorial - Kubernetes
Deployment](../../../java-sdk/tasks/deploy/_index.md).
Additionally, the [Dubbo Extension
Ecosystem](https://github.com/apache/dubbo-spi-extensions) provides extension
implementations for registries like Consul, Eureka, Etcd, etc. Contributions of
more registry implementations to the Dubbo ecosystem are welcome through the
[Registry SPI Extension](../../spi/).
diff --git
a/content/en/overview/mannual/java-sdk/tasks/extensibility/protocol.md
b/content/en/overview/mannual/java-sdk/tasks/extensibility/protocol.md
index 5483da51d14..cd16c0f0ab3 100644
--- a/content/en/overview/mannual/java-sdk/tasks/extensibility/protocol.md
+++ b/content/en/overview/mannual/java-sdk/tasks/extensibility/protocol.md
@@ -14,7 +14,7 @@ In the [Communication
Protocol](/en/overview/mannual/java-sdk/tasks/protocols/)
There are two ways to create a private protocol: the first is to wrap the
existing protocol and add specific business logic. The second is to completely
customize a protocol. The former is simpler to implement and is widely used in
`dubbo`, such as `ProtocolFilterWrapper`, `QosProtocolWrapper`, and
`ProtocolListenerWrapper`. The latter is relatively complex but offers maximum
flexibility; for instance, the built-in protocols `dubbo` and `triple` in the
Dubbo framework fall under this imp [...]
-For the complete source code of this example, refer to
[dubbo-samples-extensibility](https://github.com/apache/dubbo-samples/blob/master/10-task/dubbo-samples-extensibility/).
In addition to this example, many Protocol implementations in the core Dubbo
repository apache/dubbo and the extension library
[apache/dubbo-spi-extensions](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-protocol-extensions/)
can also serve as extension references:
+For the complete source code of this example, refer to
[dubbo-samples-extensibility](https://github.com/apache/dubbo-samples/blob/master/10-task/dubbo-samples-extensibility/).
In addition to this example, many Protocol implementations in the core Dubbo
repository apache/dubbo and the extension library
[apache/dubbo-spi-extensions](https://github.com/apache/dubbo-samples/tree/master/10-task/dubbo-samples-extensibility)
can also serve as extension references:
```properties
# Common protocols supported by Dubbo
diff --git
a/content/en/overview/mannual/java-sdk/tasks/extensibility/registry.md
b/content/en/overview/mannual/java-sdk/tasks/extensibility/registry.md
index 4370d2f4471..5412e710e3f 100644
--- a/content/en/overview/mannual/java-sdk/tasks/extensibility/registry.md
+++ b/content/en/overview/mannual/java-sdk/tasks/extensibility/registry.md
@@ -12,7 +12,7 @@ weight: 3
In the [Service Discovery](/en/overview/mannual/java-sdk/tasks/protocols/)
chapter, we learned about the usage and working principles of several core
built-in registry implementations in Dubbo, such as `Nacos` and `Zookeeper`.
This article explains how to provide a custom registry implementation by
extending the `org.apache.dubbo.registry.client.ServiceDiscovery` and
`org.apache.dubbo.registry.nacos.NacosServiceDiscoveryFactory` SPI.
-For the complete source code of this example, please refer to
[dubbo-registry-etcd](https://github.com/apache/dubbo-spi-extensions/tree/3.2.0/dubbo-registry-extensions/dubbo-registry-etcd3).
In addition to this example, many registry extension implementations in the
core repository apache/dubbo and the extension library
apache/dubbo-spi-extensions can serve as references for extensions:
+For the complete source code of this example, please refer to
[dubbo-registry-etcd](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-configcenter-extensions/dubbo-configcenter-etcd).
In addition to this example, many registry extension implementations in the
core repository apache/dubbo and the extension library
apache/dubbo-spi-extensions can serve as references for extensions:
```properties
# Common registry implementations supported by Dubbo
diff --git a/content/en/overview/mannual/java-sdk/tasks/gateway/triple.md
b/content/en/overview/mannual/java-sdk/tasks/gateway/triple.md
index 90dabdd4b6d..224705718dc 100644
--- a/content/en/overview/mannual/java-sdk/tasks/gateway/triple.md
+++ b/content/en/overview/mannual/java-sdk/tasks/gateway/triple.md
@@ -55,7 +55,7 @@ Next, we will specifically demonstrate the steps for
accessing the Higress gatew
The following example is deployed in a Kubernetes environment, so ensure you
are connected to a usable Kubernetes cluster.
-1. Install Higress, refer to the [Higress Deployment
Documentation](https://higress.io/en/docs/ops/deploy-by-helm).
+1. Install Higress, refer to the [Higress Deployment
Documentation](https://higress.cn/en/docs/latest/ops/deploy-by-helm).
2. Install Nacos by running
@@ -128,7 +128,7 @@ spec:
type: nacos2
```
-> For more detailed configuration, refer to [McpBridge Configuration
Documentation](https://higress.io/en/docs/user/mcp-bridge).
+> For more detailed configuration, refer to [McpBridge Configuration
Documentation](https://higress.cn/docs/latest/user/mcp-bridge).
Next, we create the following Ingress to create an HTTP route pointing to the
Dubbo service:
@@ -166,7 +166,7 @@ Note here that the annotation higress.io/destination
specifies the target servic
For services sourced from Nacos, the format here is:
“ServiceName.ServiceGroup.NamespaceID.nacos”. Note that the underscore '_' in
the service group is converted to a dash '-'. When the namespace is not
specified, the default value here is "public".
-> For more traffic governance-related configurations, refer to [Ingress
Annotation Configuration
Documentation](https://higress.io/en/docs/user/annotation) and [Advanced
Traffic Governance through Ingress
Annotation](https://higress.io/en/docs/user/annotation-use-case).
+> For more traffic governance-related configurations, refer to [Ingress
Annotation Configuration
Documentation](https://higress.cn/en/docs/latest/user/annotation) and [Advanced
Traffic Governance through Ingress
Annotation](https://higress.cn/en/docs/latest/user/annotation-use-case).
### Request Validation
@@ -250,6 +250,6 @@ The content described in this article applies only to the
versions of the triple
{{% /alert %}}
## Reference Links
-* `Use Apache APISIX to Proxy Triple Protocol Traffic`
-* [Higress Achieves Microservice Discovery and Routing Configuration Based on
HTTP Protocol](https://higress.io/en/docs/user/spring-cloud)
+* [Use Apache APISIX to Proxy Triple Protocol
Traffic](/en/blog/2024/04/22/use-apache-apisix-to-proxy-dubbo-services-triple-protocol/)
+* [Higress Achieves Microservice Discovery and Routing Configuration Based on
HTTP Protocol](https://higress.cn/en/docs/latest/user/spring-cloud)
diff --git a/content/en/overview/mannual/java-sdk/tasks/security/tls.md
b/content/en/overview/mannual/java-sdk/tasks/security/tls.md
index ce75f3af7ea..ad3822319b7 100644
--- a/content/en/overview/mannual/java-sdk/tasks/security/tls.md
+++ b/content/en/overview/mannual/java-sdk/tasks/security/tls.md
@@ -26,7 +26,7 @@ TLS configuration has a unified entry point.
Users with encryption requirements for end-to-end links can use TLS.
> Reference Use Case
-[https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
+[dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
## Usage
diff --git a/content/zh-cn/blog/golang/dubbo-go-intro.md
b/content/zh-cn/blog/golang/dubbo-go-intro.md
index 075179b93d8..72155583082 100644
--- a/content/zh-cn/blog/golang/dubbo-go-intro.md
+++ b/content/zh-cn/blog/golang/dubbo-go-intro.md
@@ -135,7 +135,7 @@ dubbo-go v1.0.0 版本,主要由我和同在携程的同事[方银城](https:/
dubbo-go 现在已经开始被一些企业尝试应用于 Go 语言应用融入企业已有 Java & Dubbo 技术栈,以及搭建全新 Go
语言分布式应用等场景。比如中通快递内部 Go 调用 Java Dubbo 服务;作为携程 Go 语言应用的服务框架以及 Go、Java 应用互通。
-具体的应用情况可以查看: https://github.com/dubbo/go-for-apache-dubbo/issues/2
+具体的应用情况可以查看: https://github.com/apache/dubbo-go/issues/2
*OSCHINA*:接下来的演进方向是怎么样的?
diff --git a/content/zh-cn/blog/integration/dubbo-graalvm-support.md
b/content/zh-cn/blog/integration/dubbo-graalvm-support.md
index f2fc838b088..343ad193e71 100644
--- a/content/zh-cn/blog/integration/dubbo-graalvm-support.md
+++ b/content/zh-cn/blog/integration/dubbo-graalvm-support.md
@@ -112,7 +112,7 @@ AOT 编译机制是对所有 Java 应用通用的,但相比于 AOT 编译,AO
- Dubbo - Dubbo AOT processing
- Third-party libraries - Reachability Metadata
-对于 Spring 来说,Spring6 中发布了 Spring AOT 机制,用来支持 Spring 应用的静态化预处理;Dubbo 最近也在 3.2
版本中发布了 Dubbo AOT 机制,让 Dubbo 相关组件可以自动化实现 Native
预处理;除了这两个与业务开发密切相关的框架,一个应用中往往还有大量的第三方依赖,这些依赖的 Metadata
也是影响静态化的关键,如果它们中有反射、类加载等行为,那么需要为它们提供 Metadata 配置,对于这些第三方应用目前有两个渠道,一个是 GraalVM
官方提供的共享空间,这里有相当一部分依赖的 Metadata
配置可供使用(https://github.com/oracle/graalvm-reachability-metadata),另一种方式则是要求组件官方发布的发布中包含
Metadata 配置,对于这两种情况 GraalVM 都可以做到对于 Metadata 的自动读取。
+对于 Spring 来说,Spring6 中发布了 Spring AOT 机制,用来支持 Spring 应用的静态化预处理;Dubbo 最近也在 3.2
版本中发布了 Dubbo AOT 机制,让 Dubbo 相关组件可以自动化实现 Native
预处理;除了这两个与业务开发密切相关的框架,一个应用中往往还有大量的第三方依赖,这些依赖的 Metadata
也是影响静态化的关键,如果它们中有反射、类加载等行为,那么需要为它们提供 Metadata 配置,对于这些第三方应用目前有两个渠道,一个是 GraalVM
官方提供的共享空间,这里有相当一部分依赖的 Metadata
配置可供使用(https://github.com/oracle/graalvm-reachability-metadata),另一种方式则是要求组件官方发布的发布中包含
Metadata 配置,对于这两种情况 GraalVM 都可以做到对于 Metadata 的自动读取。
### Spring AOT
diff --git a/content/zh-cn/blog/integration/how-to-proxy-dubbo-in-higress.md
b/content/zh-cn/blog/integration/how-to-proxy-dubbo-in-higress.md
index c20a2b32425..1752557d005 100644
--- a/content/zh-cn/blog/integration/how-to-proxy-dubbo-in-higress.md
+++ b/content/zh-cn/blog/integration/how-to-proxy-dubbo-in-higress.md
@@ -19,7 +19,7 @@ Higress提供了从HTTP协议到Dubbo协议进行转换的功能,用户通过
以下是一个使用 `Higress + dubbo协议 + Nacos注册中心`
的完整示例:[dubbo-samples-gateway-higress-dubbo](https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-gateway/dubbo-samples-gateway-higress/dubbo-samples-gateway-higress-dubbo)。
## 前提条件
-1. 已安装Higress,并开启了对Istio
CRD的支持,参考[Higress安装部署文档](https://higress.io/zh-cn/docs/ops/deploy-by-helm)。
+1. 已安装Higress,并开启了对Istio
CRD的支持,参考[Higress安装部署文档](https://higress.cn/docs/latest/ops/deploy-by-helm/)。
## 部署Nacos和Dubbo服务
diff --git a/content/zh-cn/blog/integration/use-zipkin-in-dubbo.md
b/content/zh-cn/blog/integration/use-zipkin-in-dubbo.md
index 328ff354295..172c8e454a2 100644
--- a/content/zh-cn/blog/integration/use-zipkin-in-dubbo.md
+++ b/content/zh-cn/blog/integration/use-zipkin-in-dubbo.md
@@ -9,11 +9,11 @@ description: >
随着业务的发展,应用的规模不断的扩大,传统的应用架构无法满足诉求,服务化架构改造势在必行,以 Dubbo
为代表的分布式服务框架成为了服务化改造架构中的基石。随着微服务理念逐渐被大众接受,应用进一步向更细粒度拆分,并且,不同的应用由不同的开发团队独立负责,整个分布式系统变得十分复杂。没有人能够清晰及时的知道当前系统整体的依赖关系。当出现问题时,也无法及时知道具体是链路上的哪个环节出了问题。
-在这个背景下,Google 发表了 [Dapper](https://ai.google/research/pubs/pub36356)
的论文,描述了如何通过一个分布式追踪系统解决上述问题。基于该论文,各大互联网公司实现并部署了自己的分布式追踪系统,其中比较出名的有阿里巴巴的
EagleEye。本文中提到的 Zipkin 是 Twitter 公司开源的分布式追踪系统。下面会详细介绍如何在 Dubbo 中使用 Zipkin
来实现分布式追踪。
+在这个背景下,Google 发表了
[Dapper](https://research.google/pubs/dapper-a-large-scale-distributed-systems-tracing-infrastructure/)
的论文,描述了如何通过一个分布式追踪系统解决上述问题。基于该论文,各大互联网公司实现并部署了自己的分布式追踪系统,其中比较出名的有阿里巴巴的
EagleEye。本文中提到的 Zipkin 是 Twitter 公司开源的分布式追踪系统。下面会详细介绍如何在 Dubbo 中使用 Zipkin
来实现分布式追踪。
## Zipkin 简介
-Zipkin 是基于 [Dapper](https://ai.google/research/pubs/pub36356) 论文实现,由 Twitter
开源的分布式追踪系统,通过收集分布式服务执行时间的信息来达到追踪服务调用链路、以及分析服务执行延迟等目的。
+Zipkin 是基于
[Dapper](https://research.google/pubs/dapper-a-large-scale-distributed-systems-tracing-infrastructure/)
论文实现,由 Twitter 开源的分布式追踪系统,通过收集分布式服务执行时间的信息来达到追踪服务调用链路、以及分析服务执行延迟等目的。
### Zipkin 架构
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/10-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\346\263\250\345\206\214\344\270\255\345\277\203\351\205\215\347\275\256\344\277\241\346\201\257RegistryConfig.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/10-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\346\263\250\345\206\214\344\270\255\345\277\203\351\205\215\347\275\256\344\277\241\346\201\257RegistryConfig.md"
index 7c2314c9316..fe15ad3044a 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/10-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\346\263\250\345\206\214\344\270\255\345\277\203\351\205\215\347\275\256\344\277\241\346\201\257RegistryConfig.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/10-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\346\263\250\345\206\214\344\270\255\345\277\203\351\205\215\347\275\256\344\277\241\346\201\257RegistryConfig.md"
@@ -227,4 +227,4 @@ private <C extends AbstractConfig> C addIfAbsent(C config,
Map<String, C> config
```
- 原文:
[`<<Dubbo启动器DubboBootstrap添加注册中心配置信息RegistryConfig>>`](https://blog.elastic.link/2022/07/10/dubbo/10-dubbo-qi-dong-qi-dubbobootstrap-tian-jia-zhu-ce-zhong-xin-pei-zhi-xin-xi-registryconfig//)
\ No newline at end of file
+ 原文:
[`<<Dubbo启动器DubboBootstrap添加注册中心配置信息RegistryConfig>>`](https://developer.aliyun.com/article/1147112)
\ No newline at end of file
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/11-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\215\217\350\256\256\351\205\215\347\275\256\344\277\241\346\201\257ProtocolConfig.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/11-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\215\217\350\256\256\351\205\215\347\275\256\344\277\241\346\201\257ProtocolConfig.md"
index f037264197c..3f0f52e4d4b 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/11-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\215\217\350\256\256\351\205\215\347\275\256\344\277\241\346\201\257ProtocolConfig.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/11-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\215\217\350\256\256\351\205\215\347\275\256\344\277\241\346\201\257ProtocolConfig.md"
@@ -93,7 +93,7 @@ public DubboBootstrap protocol(ProtocolConfig protocolConfig)
{
```
继续看protocols方法 ,这个代码与前面两个博客中看到的向配置管理器添加配置对象的逻辑是一样的
-这里就不说了可以看前面的博客[《9-Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig》](https://blog.elastic.link/2022/07/10/dubbo/9-dubbo-qi-dong-qi-dubbobootstrap-tian-jia-ying-yong-cheng-xu-de-pei-zhi-xin-xi-applicationconfig/)
+这里就不说了可以看前面的博客[《9-Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig》](https://developer.aliyun.com/article/1147113)
```java
public DubboBootstrap protocols(List<ProtocolConfig> protocolConfigs) {
if (CollectionUtils.isEmpty(protocolConfigs)) {
@@ -107,4 +107,4 @@ public DubboBootstrap protocol(ProtocolConfig
protocolConfig) {
}
```
-原文:[Dubbo启动器DubboBootstrap添加协议配置信息ProtocolConfig](https://blog.elastic.link/2022/07/10/dubbo/11-dubbo-qi-dong-qi-dubbobootstrap-tian-jia-xie-yi-pei-zhi-xin-xi-protocolconfig/)
\ No newline at end of file
+原文:[Dubbo启动器DubboBootstrap添加协议配置信息ProtocolConfig](https://developer.aliyun.com/article/1150915)
\ No newline at end of file
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/14-Dubbo\351\205\215\347\275\256\345\212\240\350\275\275\345\205\250\350\247\243\346\236\220.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/14-Dubbo\351\205\215\347\275\256\345\212\240\350\275\275\345\205\250\350\247\243\346\236\220.md"
index b194952cff6..5c59f9a5199 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/14-Dubbo\351\205\215\347\275\256\345\212\240\350\275\275\345\205\250\350\247\243\346\236\220.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/14-Dubbo\351\205\215\347\275\256\345\212\240\350\275\275\345\205\250\350\247\243\346\236\220.md"
@@ -519,4 +519,4 @@ private void loadApplicationConfigs() {
-原文地址:[Dubbo配置加载全解析](https://blog.elastic.link/2022/07/10/dubbo/14-dubbo-pei-zhi-jia-zai-quan-jie-xi/)
+原文地址:[Dubbo配置加载全解析](https://developer.aliyun.com/article/1180713)
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/17-Dubbo\346\234\215\345\212\241\346\217\220\344\276\233\350\200\205\347\232\204\345\217\214\346\263\250\345\206\214\345\216\237\347\220\206.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/17-Dubbo\346\234\215\345\212\241\346\217\220\344\276\233\350\200\205\347\232\204\345\217\214\346\263\250\345\206\214\345\216\237\347\220\206.md"
index bda1cf5b915..2fc1286feb3 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/17-Dubbo\346\234\215\345\212\241\346\217\220\344\276\233\350\200\205\347\232\204\345\217\214\346\263\250\345\206\214\345\216\237\347\220\206.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/17-Dubbo\346\234\215\345\212\241\346\217\220\344\276\233\350\200\205\347\232\204\345\217\214\346\263\250\345\206\214\345\216\237\347\220\206.md"
@@ -984,4 +984,4 @@ ZookeeperMetadataReport的storeMetadata
```
-原文地址:[17-Dubbo服务提供者的双注册原理](https://blog.elastic.link/2022/07/10/dubbo/17-dubbo3-ying-yong-ji-zhu-ce-zhi-fu-wu-ti-gong-zhe-de-shuang-zhu-ce-yuan-li/)
+原文地址:[17-Dubbo服务提供者的双注册原理](https://developer.aliyun.com/article/1180705)
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/18-Dubbo3\345\205\203\346\225\260\346\215\256\346\234\215\345\212\241MetadataService\347\232\204\345\257\274\345\207\272.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/18-Dubbo3\345\205\203\346\225\260\346\215\256\346\234\215\345\212\241MetadataService\347\232\204\345\257\274\345\207\272.md"
index efcba219849..4e667d04ac8 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/18-Dubbo3\345\205\203\346\225\260\346\215\256\346\234\215\345\212\241MetadataService\347\232\204\345\257\274\345\207\272.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/18-Dubbo3\345\205\203\346\225\260\346\215\256\346\234\215\345\212\241MetadataService\347\232\204\345\257\274\345\207\272.md"
@@ -249,7 +249,7 @@ ExporterDeployListener类型的onModuleStarted方法如下:
}
```
-在前面的博客[<<Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig>>](https://blog.elastic.link/2022/07/10/dubbo/9-dubbo-qi-dong-qi-dubbobootstrap-tian-jia-ying-yong-cheng-xu-de-pei-zhi-xin-xi-applicationconfig/)
中有提到这个配置下面我再说下
+在前面的博客[<<Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig>>](https://developer.aliyun.com/article/1147113)
中有提到这个配置下面我再说下
metadata-type
@@ -634,4 +634,4 @@ public static
org.apache.curator.x.discovery.ServiceInstance<ZookeeperInstance>
-原文地址:[18-Dubbo3元数据服务MetadataService的导出](https://blog.elastic.link/2022/07/10/dubbo/18-dubbo3-yuan-shu-ju-fu-wu-metadataservice-de-dao-chu/)
+原文地址:[18-Dubbo3元数据服务MetadataService的导出](https://developer.aliyun.com/article/11807035)
diff --git "a/content/zh-cn/blog/java/codeanalysis/3.0.8/5
\350\207\252\351\200\202\345\272\224\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272getAdaptiveExtension\346\226\271\346\263\225.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/5
\350\207\252\351\200\202\345\272\224\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272getAdaptiveExtension\346\226\271\346\263\225.md"
index e89dd0f491a..256c0e0ddce 100644
--- "a/content/zh-cn/blog/java/codeanalysis/3.0.8/5
\350\207\252\351\200\202\345\272\224\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272getAdaptiveExtension\346\226\271\346\263\225.md"
+++ "b/content/zh-cn/blog/java/codeanalysis/3.0.8/5
\350\207\252\351\200\202\345\272\224\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272getAdaptiveExtension\346\226\271\346\263\225.md"
@@ -810,4 +810,4 @@ private <T> T getOptionalBean(ListableBeanFactory
beanFactory, String name, Clas
```
-原文:
[《自适应扩展对象的创建getAdaptiveExtension方法》](https://blog.elastic.link/2022/07/10/dubbo/5-dubbo-de-spi-kuo-zhan-ji-zhi-yu-zi-gua-ying-kuo-zhan-dui-xiang-de-chuang-jian-yu-kuo-zhan-wen-jian-de-sao-miao-yuan-ma-jie-xi/)
+原文:
[《自适应扩展对象的创建getAdaptiveExtension方法》](https://developer.aliyun.com/article/1180712)
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/6-Dubbo\347\232\204SPI\346\211\251\345\261\225\346\234\272\345\210\266\344\271\213\346\231\256\351\200\232\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272\344\270\216Wrapper\346\234\272\345\210\266\347\232\204\346\272\220\347\240\201\350\247\243\346\236\220.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/6-Dubbo\347\232\204SPI\346\211\251\345\261\225\346\234\272\345\210\266\344\271\213\346\231\2
[...]
index 047a6d6dae0..66c9590e454 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/6-Dubbo\347\232\204SPI\346\211\251\345\261\225\346\234\272\345\210\266\344\271\213\346\231\256\351\200\232\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272\344\270\216Wrapper\346\234\272\345\210\266\347\232\204\346\272\220\347\240\201\350\247\243\346\236\220.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/6-Dubbo\347\232\204SPI\346\211\251\345\261\225\346\234\272\345\210\266\344\271\213\346\231\256\351\200\232\346\211\251\345\261\225\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272\344\270\216Wrapper\346\234\272\345\210\266\347\232\204\346\272\220\347\240\201\350\247\243\346\236\220.md"
@@ -352,4 +352,4 @@ isWrapperClass方法通过判断构造器类型是否为当前类型来判断是
如果匹配到了当前扩展对象是需要进行wrapp的就为当前扩展创建当前wrapper扩展对象进行包装
- 原文:
[《Dubbo的SPI扩展机制之普通扩展对象的创建与Wrapper机制的源码解析》](https://blog.elastic.link/2022/07/10/dubbo/6-dubbo-de-spi-kuo-zhan-ji-zhi-zhi-pu-tong-kuo-zhan-dui-xiang-de-chuang-jian-yu-wrapper-ji-zhi-de-yuan-ma-jie-xi/)
+ 原文:
[《Dubbo的SPI扩展机制之普通扩展对象的创建与Wrapper机制的源码解析》](https://developer.aliyun.com/article/1141064)
diff --git
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/9-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\351\205\215\347\275\256\344\277\241\346\201\257ApplicationConfig.md"
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/9-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\351\205\215\347\275\256\344\277\241\3
[...]
index 595b2035faf..f1d4d0bba74 100644
---
"a/content/zh-cn/blog/java/codeanalysis/3.0.8/9-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\351\205\215\347\275\256\344\277\241\346\201\257ApplicationConfig.md"
+++
"b/content/zh-cn/blog/java/codeanalysis/3.0.8/9-Dubbo\345\220\257\345\212\250\345\231\250DubboBootstrap\346\267\273\345\212\240\345\272\224\347\224\250\347\250\213\345\272\217\347\232\204\351\205\215\347\275\256\344\277\241\346\201\257ApplicationConfig.md"
@@ -192,4 +192,4 @@ private <C extends AbstractConfig> C addIfAbsent(C config,
Map<String, C> config
}
```
- 原文:
[<<Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig>>](https://blog.elastic.link/2022/07/10/dubbo/9-dubbo-qi-dong-qi-dubbobootstrap-tian-jia-ying-yong-cheng-xu-de-pei-zhi-xin-xi-applicationconfig/)
\ No newline at end of file
+ 原文:
[<<Dubbo启动器DubboBootstrap添加应用程序的配置信息ApplicationConfig>>](https://developer.aliyun.com/article/1147113)
\ No newline at end of file
diff --git a/content/zh-cn/blog/java/demos/dubbo-annotation-driven.md
b/content/zh-cn/blog/java/demos/dubbo-annotation-driven.md
index c10702566b4..f2e6556aafd 100644
--- a/content/zh-cn/blog/java/demos/dubbo-annotation-driven.md
+++ b/content/zh-cn/blog/java/demos/dubbo-annotation-driven.md
@@ -39,7 +39,7 @@ description: >
##### 2. `@Service` Bean 不支持 Spring AOP
-同时,使用 `<dubbo:annotation> ` 方式扫描后的Dubbo `@Service` ,在 Spring 代理方面存在问题,如 GitHub
上的 issue https://github.com/alibaba/dubbo/issues/794:
+同时,使用 `<dubbo:annotation> ` 方式扫描后的Dubbo `@Service` ,在 Spring 代理方面存在问题,如 GitHub
上的 [issue](https://github.com/apache/dubbo/issues/794):
> 关于dubbo @Service注解生成ServiceBean时, interface获取成spring 的代理对象的bug
>
diff --git a/content/zh-cn/blog/java/proposals/service-discovery-migration.md
b/content/zh-cn/blog/java/proposals/service-discovery-migration.md
index 6ba8aa65bcf..538924a9291 100644
--- a/content/zh-cn/blog/java/proposals/service-discovery-migration.md
+++ b/content/zh-cn/blog/java/proposals/service-discovery-migration.md
@@ -57,7 +57,7 @@ dubbo.application.register-mode=instance
2. 注册中心地址参数配置
注册中心的地址上可以配置 `registry-type=service`
来显示指定该注册中心为应用级服务发现的注册中心,带上此配置的注册中心将只进行应用级服务发现。
->
[参考示例](https://github.com/apache/dubbo-samples/blob/master/2-advanced/dubbo-samples-service-discovery/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources/spring/dubbo-provider.xml)
+>
[参考示例](https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-service-discovery/dubbo-demo-servicediscovery-xml/servicediscovery-provider/src/main/resources)
```xml
<dubbo:registry
address="nacos://${nacos.address:127.0.0.1}:8848?registry-type=service"/>
diff --git a/content/zh-cn/blog/news/build-new-docker-image-in-dockerhub.md
b/content/zh-cn/blog/news/build-new-docker-image-in-dockerhub.md
index ed70a70a65b..16960cf06d2 100644
--- a/content/zh-cn/blog/news/build-new-docker-image-in-dockerhub.md
+++ b/content/zh-cn/blog/news/build-new-docker-image-in-dockerhub.md
@@ -56,4 +56,4 @@ DockerHub对于组织账号的管理是基于组的,也就是一个组织账
[^apache-repo]: https://hub.docker.com/r/apache
[^request-ticket]: https://issues.apache.org/jira/browse/INFRA-18167
-[^docker-file]:
https://github.com/apache/dubbo-admin/blob/develop/docker/0.1.0/Dockerfile
+[^docker-file]:
https://github.com/apache/dubbo-admin/blob/java/docker/0.1.0/Dockerfile
diff --git a/content/zh-cn/blog/news/openatom-opensopurce-competition-2024.md
b/content/zh-cn/blog/news/openatom-opensopurce-competition-2024.md
index bd2ae10fa99..20e3cf167e8 100644
--- a/content/zh-cn/blog/news/openatom-opensopurce-competition-2024.md
+++ b/content/zh-cn/blog/news/openatom-opensopurce-competition-2024.md
@@ -105,8 +105,8 @@ triple 协议相关实现源码:
相关源码仓库:
-- Dubbo Java
源码:[https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds)
-- Dubbo Go
源码:[https://github.com/apache/dubbo-go/tree/main/xds](https://github.com/apache/dubbo-go/tree/main/xds)
+- Dubbo Java
源码:[dubbo-xds](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-xds)
+- Dubbo Go 源码:[xds](https://github.com/apache/dubbo-go/tree/release-3.0/xds)
##### 3.2.2 控制面开发指南:
控制面的 xDS Server 将由官方社区提供基础实现,选手们可关注安全相关部分的设计与实现。
@@ -151,9 +151,9 @@ triple 协议相关实现源码:
#### 4.2 赛题说明
本赛题官方已经提供了后端适配层的参考实现,同时给出了部分前端交互设计初稿。选手完全可以此为基础进行开发设计,具体评分标准参见官方报名渠道说明。
-1. 后端:
[https://github.com/apache/dubbo-kubernetes/tree/master/pkg/admin](https://github.com/apache/dubbo-kubernetes/tree/master/pkg/admin)
+1. 后端:
[admin](https://github.com/apache/dubbo-kubernetes/tree/ospp-2024/pkg/admin)
-2. 前端代码框架:https://github.com/apache/dubbo-kubernetes/tree/master/ui-vue3
+2.
前端代码框架:[ui-vue3](https://github.com/apache/dubbo-kubernetes/tree/ospp-2024/ui-vue3)
#### 4.3 参考资料
diff --git a/content/zh-cn/blog/news/releases/2.7.5.md
b/content/zh-cn/blog/news/releases/2.7.5.md
index aa30ea61480..6ee366faaab 100644
--- a/content/zh-cn/blog/news/releases/2.7.5.md
+++ b/content/zh-cn/blog/news/releases/2.7.5.md
@@ -175,7 +175,7 @@ if (!mutualTls) {}
Dubbo 配置读取规则:/zh-cn/docs/user/configuration/configuration-load-process.html
-TLS 示例:https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl
+TLS
示例:[dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
> 如果要使用的是 gRPC 协议,在开启 TLS 时会使用到协议协商机制,因此必须使用支持 ALPN 机制的 Provider,推荐使用的是
> netty-tcnative,具体可参见 gRPC Java 社区的总结:
> https://github.com/grpc/grpc-java/blob/master/SECURITY.md
diff --git a/content/zh-cn/blog/news/releases/dubbo-go-1.5.md
b/content/zh-cn/blog/news/releases/dubbo-go-1.5.md
index 1de16aa20a8..69f3be3e7d3 100644
--- a/content/zh-cn/blog/news/releases/dubbo-go-1.5.md
+++ b/content/zh-cn/blog/news/releases/dubbo-go-1.5.md
@@ -92,8 +92,5 @@ Dubbo-go 处于一个比较稳定成熟的状态。目前新版本正处于往
以前的 dubbo-go RPC 层直接复用了 getty 框架 的
RPC[[^3](https://github.com/AlexStocks/getty/tree/feature/rpc)],未能实现协议和应用通信地址的隔离。阿里中间件展图同学重构了
dubbo-go RPC 层,实现了连接复用:可以实现 consumer 与 provider 端的同一个 TCP 连接上进行多协议通信。相关 PR
业已合并,会在 dubbo-go v1.5.1 中发布。
-目前下一个版本正在紧锣密鼓的开发中,具体规划及任务清单[^1] ,都已经在 Github 上体现。
-
-[^1]: https://github.com/apache/dubbo-go/projects/8
[^2]: https://github.com/seata-golang/seata-golang
[^3]: https://github.com/AlexStocks/getty/tree/feature/rpc
diff --git a/content/zh-cn/blog/proposals/google-service-weaver-paper-2023.md
b/content/zh-cn/blog/proposals/google-service-weaver-paper-2023.md
index aa798f09218..494b0ede801 100644
--- a/content/zh-cn/blog/proposals/google-service-weaver-paper-2023.md
+++ b/content/zh-cn/blog/proposals/google-service-weaver-paper-2023.md
@@ -231,7 +231,7 @@ API 的实现者是运行时,它负责所有控制平面操作。运行时决
[23] Json.
[https://www.json.org/json-en.html.](https://www.json.org/json-en.html)
-[24] Kalix. [https://www.kalix.io/.](https://www.kalix.io/)
+[24] Kalix.
[https://www.kalix.io/.](https://platformengineering.org/tools/kalix)
[25] Kubernetes. [https://kubernetes.io/.](https://kubernetes.io/)
diff --git a/content/zh-cn/contact/committer/new-committer-guide_dev.md
b/content/zh-cn/contact/committer/new-committer-guide_dev.md
index f3fa2c668f7..03551e51713 100644
--- a/content/zh-cn/contact/committer/new-committer-guide_dev.md
+++ b/content/zh-cn/contact/committer/new-committer-guide_dev.md
@@ -15,7 +15,7 @@ weight: 1
### 项目孵化初始化提交者
-项目孵化阶段,在孵化项目提案中,会有初始化提交者列表这一选项。确认你是初始化提交者的一员。项目在 apache
孵化器社区投票通过后,提交者可以开始准备注册账户了。可以参看[孵化器 wiki](https://wiki.apache.org/incubator/)
+项目孵化阶段,在孵化项目提案中,会有初始化提交者列表这一选项。确认你是初始化提交者的一员。项目在 apache
孵化器社区投票通过后,提交者可以开始准备注册账户了。可以参看[孵化器
wiki](https://cwiki.apache.org/confluence/display/incubator)
### 活跃的贡献者被选举为提交者
diff --git a/content/zh-cn/contact/contributor/test-coverage-guide_dev.md
b/content/zh-cn/contact/contributor/test-coverage-guide_dev.md
index 4e90f9e390a..887d43016b4 100644
--- a/content/zh-cn/contact/contributor/test-coverage-guide_dev.md
+++ b/content/zh-cn/contact/contributor/test-coverage-guide_dev.md
@@ -19,7 +19,7 @@ weight: 7
* 注意边界条件。
* 单元测试也应该好好设计,不要写无用的代码。
* 当你发现一个`方法`很难写单元测试时,如果可以确认这个`方法`是`臭代码`,那么就和开发者一起重构它。
-* Dubbo中用的mock框架是: [mockito](http://site.mockito.org/). 下面是一些开发向导:[mockito
tutorial](https://www.baeldung.com/bdd-mockito),[mockito
refcard](https://dzone.com/refcardz/mockito)
+* Dubbo中用的mock框架是: [mockito](http://site.mockito.org/). 下面是一些开发向导:[mockito
tutorial](https://www.baeldung.com/bdd-mockito),[mockito
refcard](https://site.mockito.org/)
* TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。
### 测试覆盖率设定值
* 在现阶段,Delta更改代码的测试覆盖设定值为:>=60%,越高越好。
diff --git a/content/zh-cn/docs/advanced/protobuf&interface.md
b/content/zh-cn/docs/advanced/protobuf&interface.md
index 50339b230f9..d8dec8c322f 100644
--- a/content/zh-cn/docs/advanced/protobuf&interface.md
+++ b/content/zh-cn/docs/advanced/protobuf&interface.md
@@ -146,4 +146,4 @@ message AnchorInfo {
## 5. 社区资料
* 社区主页地址:https://developers.google.cn/protocol-buffers/
* 社区开源地址:https://github.com/google/protobuf
-* 相关jar的maven:https://search.maven.org/search?q=com.google.protobuf
+* 相关jar的maven:https://central.sonatype.com/search?q=com.google.protobuf
diff --git a/content/zh-cn/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
b/content/zh-cn/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
index d45d451e844..db3c75cc778 100644
--- a/content/zh-cn/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
+++ b/content/zh-cn/overview/mannual/golang-sdk/tutorial/rpc/protocol.md
@@ -138,6 +138,6 @@ Dubbo 框架支持协议扩展,目前官方生态支持的协议包括:
* jsonrpc
-在一些场景下,你可以在一个应用内同时发布多个协议的服务,或者同时以不同的协议调用服务,这里有一个
[多协议发布的使用示例](https://github.com/apache/dubbo-go-samples/tree/main/multirpc) 供参考。
+在一些场景下,你可以在一个应用内同时发布多个协议的服务,或者同时以不同的协议调用服务,这里有一个
[多协议发布的使用示例](https://github.com/apache/dubbo-go-samples/tree/main/rpc/multi-protocols)
供参考。
diff --git
a/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/triple.md
b/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/triple.md
index 663905a46e3..772eea3177d 100644
---
a/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/triple.md
+++
b/content/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/triple.md
@@ -312,7 +312,7 @@ message AnchorInfo {
#### 5. 社区资料
* 社区主页地址:https://developers.google.cn/protocol-buffers/
* 社区开源地址:https://github.com/google/protobuf
-* 相关jar的maven:https://search.maven.org/search?q=com.google.protobuf
+* 相关jar的maven:https://central.sonatype.com/search?q=com.google.protobuf
diff --git
a/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/protocol.md
b/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/protocol.md
index 0679b645872..e9b5ffeb074 100644
--- a/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/protocol.md
+++ b/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/protocol.md
@@ -14,7 +14,7 @@ weight: 2
自定义一套私有协议有两种方式,第一种是对原有的协议进行包装,添加一些特定的业务逻辑。另外一种是完全自定义一套协议。前者实现简单,在`dubbo`中也是有广泛的使用,比如:`ProtocolFilterWrapper`,
`QosProtocolWrapper`, `ProtocolListenerWrapper`等。后者实现相对复杂,但却具有最大的灵活性,比如 Dubbo
框架内置的协议 `dubbo`、`triple` 协议都可以算作这种实现方式。
-本示例的完整源码请参见
[dubbo-samples-extensibility](https://github.com/apache/dubbo-samples/blob/master/10-task/dubbo-samples-extensibility/)。除了本示例之外,Dubbo
核心仓库 apache/dubbo 以及扩展库
[apache/dubbo-spi-extensions](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-protocol-extensions/)
中的众多 Protocol 实现,都可以作为扩展参考实现:
+本示例的完整源码请参见
[dubbo-samples-extensibility](https://github.com/apache/dubbo-samples/tree/master/10-task/dubbo-samples-extensibility)。除了本示例之外,Dubbo
核心仓库 apache/dubbo 以及扩展库
[apache/dubbo-spi-extensions](https://github.com/apache/dubbo-samples/tree/master/10-task/dubbo-samples-extensibility)
中的众多 Protocol 实现,都可以作为扩展参考实现:
```properties
# Dubbo对外支持的常用协议
diff --git
a/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/registry.md
b/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/registry.md
index 8bef424e503..6602329b944 100644
--- a/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/registry.md
+++ b/content/zh-cn/overview/mannual/java-sdk/tasks/extensibility/registry.md
@@ -12,7 +12,7 @@ weight: 3
在 [服务发现](/zh-cn/overview/mannual/java-sdk/tasks/protocols/) 一章中,我们了解了 Dubbo
内置的几个核心注册中心实现 `Nacos`、`Zookeeper` 的使用方式与工作原理。本文讲解如何通过扩展
`org.apache.dubbo.registry.client.ServiceDiscovery` 和
`org.apache.dubbo.registry.nacos.NacosServiceDiscoveryFactory` SPI,提供自定义的注册中心实现。
-本示例的完整源码请参见
[dubbo-registry-etcd](https://github.com/apache/dubbo-spi-extensions/tree/3.2.0/dubbo-registry-extensions/dubbo-registry-etcd3)。除了本示例之外,Dubbo
核心仓库 apache/dubbo 以及扩展库 apache/dubbo-spi-extensions 中的众多注册中心扩展实现,都可以作为扩展参考实现:
+本示例的完整源码请参见
[dubbo-registry-etcd](https://github.com/apache/dubbo-spi-extensions/tree/master/dubbo-configcenter-extensions/dubbo-configcenter-etcd)。除了本示例之外,Dubbo
核心仓库 apache/dubbo 以及扩展库 apache/dubbo-spi-extensions 中的众多注册中心扩展实现,都可以作为扩展参考实现:
```properties
# Dubbo对外支持的常用注册中心实现
diff --git a/content/zh-cn/overview/mannual/java-sdk/tasks/gateway/triple.md
b/content/zh-cn/overview/mannual/java-sdk/tasks/gateway/triple.md
index ef5ebe542cf..02c4b898c9c 100644
--- a/content/zh-cn/overview/mannual/java-sdk/tasks/gateway/triple.md
+++ b/content/zh-cn/overview/mannual/java-sdk/tasks/gateway/triple.md
@@ -55,7 +55,7 @@ public interface DemoService {
以下示例部署在 Kubernetes 环境,因此请确保您已经连接到一个可用 Kubernetes 集群。
-1. 安装 Higress,参考
[Higress安装部署文档](https://higress.io/zh-cn/docs/ops/deploy-by-helm)
+1. 安装 Higress,参考
[Higress安装部署文档](https://higress.cn/docs/latest/ops/deploy-by-helm/)
2. 安装 Nacos,运行
@@ -130,7 +130,7 @@ spec:
type: nacos2
```
-> 更多详细配置参考[McpBridge配置说明](https://higress.io/zh-cn/docs/user/mcp-bridge)
+> 更多详细配置参考[McpBridge配置说明](https://higress.cn/docs/latest/user/mcp-bridge/)
接下来我们创建如下 Ingress,从而创建一条指向 Dubbo 服务的 HTTP 路由:
@@ -169,7 +169,7 @@ spec:
对于 Nacos 来源的服务,这里的目标服务格式为:“服务名称.服务分组.命名空间ID.nacos”,注意这里需要遵循 DNS
域名格式,因此服务分组中的下划线'_'被转换成了横杠'-'。命名空间未指定时,这里默认值为"public"。
-> 更多流量治理相关配置参考[Ingress Annotation
配置说明](https://higress.io/zh-cn/docs/user/annotation)和[通过Ingress
Annotation实现高阶流量治理](https://higress.io/zh-cn/docs/user/annotation-use-case)
+> 更多流量治理相关配置参考[Ingress Annotation
配置说明](https://higress.io/zh-cn/docs/user/annotation)和[通过Ingress
Annotation实现高阶流量治理](https://higress.cn/docs/latest/user/annotation-use-case)
### 请求验证
diff --git a/content/zh-cn/overview/mannual/java-sdk/tasks/security/tls.md
b/content/zh-cn/overview/mannual/java-sdk/tasks/security/tls.md
index 06ae0537e3c..d59b4f50e8d 100644
--- a/content/zh-cn/overview/mannual/java-sdk/tasks/security/tls.md
+++ b/content/zh-cn/overview/mannual/java-sdk/tasks/security/tls.md
@@ -26,7 +26,7 @@ TLS 的配置都有统一的入口。
对全链路有加密需求的用户可以使用 TLS。
> 参考用例
-[https://github.com/apache/dubbo-samples/tree/master/dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
+[dubbo-samples-ssl](https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-ssl)
## 使用方式
diff --git a/layouts/shortcodes/blocks/demo-en.html
b/layouts/shortcodes/blocks/demo-en.html
index 0c305f6f596..f7e8e86eea6 100644
--- a/layouts/shortcodes/blocks/demo-en.html
+++ b/layouts/shortcodes/blocks/demo-en.html
@@ -241,7 +241,7 @@
<div class="demo-container-middle">
<div class="demo-subject">
<div class="demo-subject-right">
- <div class="demo-subject-right-des">You can visit <a
href="https://demo.dubbo.apache.org/">demo.dubbo.apache.org</a> to experience
the store we've deployed online. If you'd like to learn more about the source
code and implementation details, you can visit GitHub to view the source code.
We provide implementations in both <a
href="https://github.com/apache/dubbo-samples/tree/master/online_bontique_demo">Java</a>
and <a href="https://github.com/apache/dubbo-go-samples/tree/main/onl [...]
+ <div class="demo-subject-right-des">You can visit <a
href="https://demo.dubbo.apache.org/">demo.dubbo.apache.org</a> to experience
the store we've deployed online. If you'd like to learn more about the source
code and implementation details, you can visit GitHub to view the source code.
We provide implementations in both <a
href="https://github.com/apache/dubbo-samples/tree/master/online_bontique_demo">Java</a>
and <a href="https://github.com/apache/dubbo-go-samples/tree/main/onl [...]
<div class="demo-subject-right-img"></div>
</div>
</div>
diff --git a/layouts/shortcodes/blocks/demo-zh.html
b/layouts/shortcodes/blocks/demo-zh.html
index 09af53a4a94..8ec2a1809e3 100644
--- a/layouts/shortcodes/blocks/demo-zh.html
+++ b/layouts/shortcodes/blocks/demo-zh.html
@@ -241,7 +241,7 @@
<div class="demo-container-middle">
<div class="demo-subject">
<div class="demo-subject-right">
- <div class="demo-subject-right-des">您可以访问 <a
href="https://demo.dubbo.apache.org/">demo.dubbo.apache.org</a>
在线体验我们已经部署好的商城,如您想了解源码与实现细节可以跳转 github 查看源码,我们提供了 <a
href="https://github.com/apache/dubbo-samples/tree/master/online_bontique_demo">Java</a>
和 <a
href="https://github.com/apache/dubbo-go-samples/tree/main/online_boutique_demo">Go</a>
两种语言的源码实现。</div>
+ <div class="demo-subject-right-des">您可以访问 <a
href="https://demo.dubbo.apache.org/">demo.dubbo.apache.org</a>
在线体验我们已经部署好的商城,如您想了解源码与实现细节可以跳转 github 查看源码,我们提供了 <a
href="https://github.com/apache/dubbo-samples/tree/master/online_bontique_demo">Java</a>
和 <a
href="https://github.com/apache/dubbo-go-samples/tree/main/online_boutique">Go</a>
两种语言的源码实现。</div>
<div class="demo-subject-right-img"></div>
</div>
</div>