Skip to content

Commit dbbf5df

Browse files
authored
Fix broken links & Add link checker (#1339)
* add lint * add on * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update time * add ignore * update * update limit * update * update * update * update * update link * update link * update workflows * pretty * concurrency * limit * switch to 8 * switch to 12 * update workflows * remove concurrency * ignore new * lint self * fix link * add ignore * pack lint * rewrite base * temp ignore mesh * add imgs * add imgs * add imgs * add yuque ignore
1 parent e5c3408 commit dbbf5df

File tree

316 files changed

+663
-687
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

316 files changed

+663
-687
lines changed

‎.github/workflows/link_check.yml‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Link Check
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
5+
jobs:
6+
build_and_deploy_job:
7+
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
8+
runs-on: ubuntu-latest
9+
name: Build and Deploy Job
10+
steps:
11+
- uses: actions/checkout@v2
12+
with:
13+
submodules: recursive
14+
- name: Setup Node
15+
uses: actions/setup-node@v1
16+
with:
17+
node-version: '12.x'
18+
- name: Setup Docsy
19+
run: git submodule update --init --recursive && sudo npm install -D --save autoprefixer && sudo npm install -D --save postcss-cli
20+
- name: Setup Hugo
21+
uses: peaceiris/actions-hugo@v2
22+
with:
23+
hugo-version: 'latest'
24+
extended: true
25+
- name: Build
26+
env:
27+
HUGO_ENV: production
28+
run: hugo --minify --baseURL /
29+
- name: Setup Html Test
30+
run: curl https://htmltest.wjdp.uk | bash
31+
- name: Lint Self
32+
run: ./bin/htmltest -s
33+
- name: Lint External
34+
run: ./bin/htmltest
35+
- name: Print lint failed list if failure
36+
if: failure()
37+
run: cat tmp/.htmltest/htmltest.log | grep -v "hitting ---"
38+
- name: Pack lint result if failure
39+
if: failure()
40+
run: 7z a ${{ github.workspace }}/htmltest.zip tmp/.htmltest/* -r
41+
- name: Upload lint result failure
42+
if: failure()
43+
uses: actions/upload-artifact@v2
44+
with:
45+
name: "htmltest.zip"
46+
path: htmltest.zip

‎.htaccess‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
# special redirection for examples & handbook
2525
RewriteCond "%{HTTP:Accept-Language}" ^zh [NC]
26-
RewriteRule ^/?faq/?([\w\-/]+)?$ "/zh/docs3-building/java-sdk/faq/$1" [L,R=302]
26+
RewriteRule ^/?faq/?([\w\-/]+)?$ "/zh/docs3-v2/java-sdk/faq/$1" [L,R=302]
2727

2828
RewriteRule ^/?faq/?([\w\-/]+)?$ "/en/docs/java-sdk/faq/$1" [L,R=302]
2929

‎.htmltest.yml‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
DirectoryPath: public
2+
IgnoreAltMissing: true
3+
IgnoreInternalEmptyHash: true
4+
IgnoreDirectoryMissingTrailingSlash: true
5+
ExternalTimeout: 15
6+
LogLevel: 1
7+
IgnoreURLs: [
8+
# starter not available => temp ignore
9+
"http://start.dubbo.io",
10+
# mesh
11+
"https://github.com/apache/dubbo-go-samples/tree/master/route/meshroute",
12+
# edit page => always ignore
13+
"https://github.com/apache/dubbo-website/edit/master/content/.*",
14+
"https://github.com/apache/dubbo-website/new/master/content/.*",
15+
# docs external link might temporally unavailable => always ignore
16+
"http://javatar.iteye.com/.*",
17+
"https://www.baeldung.com/bdd-mockito",
18+
"https://docs.github.com/.*",
19+
"https://github.com/dubbo/awesome-dubbo/blob/master/slides/meetup/201812%40hangzhou/troubleshooting-dubbo-with-arthas.pdf",
20+
"https://apachecon.dukecon.org/acna/2018/#/scheduledEvent/b8db9dc580d85853f",
21+
"https://www.yuque.com/docs/share/eff9c51f-a7f4-47d6-87ff-11a2152bdffe?",
22+
"https://www.yuque.com/docs/share/c698bd6e-e4d6-47db-bc1c-c757cc9b4f3e?",
23+
"https://www.yuque.com/docs/share/c132d5db-0dcb-487f-8833-7c7732964bd4?#",
24+
"https://www.yuque.com/docs/share/f4e72670-74ab-45b9-bc0c-4b42249ed953?#",
25+
"https://www.oschina.net/question/3820517_2306822",
26+
"https://www.webjars.org/documentation#servlet3",
27+
"https://developer.aliyun.com/article/"]

‎config.toml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,11 @@ name = "Dubbo mailing list archive"
162162
url = "https://lists.apache.org/[email protected]"
163163
icon = "fa fa-envelope"
164164
desc = "Discussion and help from your fellow users"
165-
[[params.links.user]]
166-
name = "Twitter"
167-
url = "https://twitter.com/ApacheDubbo"
168-
icon = "fab fa-twitter"
169-
desc = "Follow us on Twitter to get the latest news!"
165+
#[[params.links.user]]
166+
#name = "Bilibili"
167+
#url = "https://space.bilibili.com/1395485052"
168+
#icon = "fa-brands fa-bilibili"
169+
#desc = "Follow us on Bilibili to get the latest news!"
170170
#[[params.links.user]]
171171
# name = "Stack Overflow"
172172
# url = "https://example.org/stack"

‎content/en/blog/news/dubbo-101.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ The basic concepts of current framework of distributed service is similar to the
8686
5. Running container – Initialize and load the provider and manage the lifecycle of running.
8787

8888

89-
![dubbo-architecture](../../img/blog/dubbo-architecture.png)
89+
![dubbo-architecture](/imgs/blog/dubbo-architecture.png)
9090

9191

9292

@@ -269,7 +269,7 @@ hi, dubbo
269269

270270
Dubbo also provides a public platform that can create a Dubbo application quickly based on Spring Boot. Visit http://start.dubbo.io and follow the figure below to create an example project:
271271

272-
![dubbo initializr](../../img/blog/dubbo-initializr.png)
272+
![dubbo initializr](/imgs/blog/dubbo-initializr.png)
273273

274274
**Notes**
275275

@@ -385,6 +385,6 @@ Eventually, we give an outline of how to create a Dubbo application quickly base
385385
---
386386

387387
1. [Getting Started Using JavaTM RMI](https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html)
388-
2. [Explicit target](http://dubbo.apache.org/docs/v2.7/user/examples/explicit-target/)
389-
3. [Multicast Registry](http://dubbo.apache.org/docs/v2.7/user/references/registry/multicast/)
390-
4. [Online QOS command](http://dubbo.apache.org/docs/v2.7/user/references/qos/)
388+
2. [Explicit target](/en/docs/v2.7/user/examples/explicit-target/)
389+
3. [Multicast Registry](/en/docs/v2.7/user/references/registry/multicast/)
390+
4. [Online QOS command](/en/docs/v2.7/user/references/qos/)

‎content/en/blog/news/dubbo-async-server.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: >
77
---
88

99
## Preface
10-
It is suggested to make an understanding of the thread phase involved in the process of Dubbo first, please refer to [Implementation background and practice of Dubbo client asynchronous interface](http://dubbo.apache.org/en-us/blog/dubboAsync_client.html) for details.
10+
It is suggested to make an understanding of the thread phase involved in the process of Dubbo first, please refer to [Implementation background and practice of Dubbo client asynchronous interface](/en/blog/2019/02/20/implementation-background-and-practice-of-dubbo-client-asynchronous-interface/) for details.
1111

1212
## Implementation background
1313
It is necessary to introduce the server-side thread strategy in more detail to deepen the user's judgment basis for selecting server-side asynchrony. It is also necessary to introduce coroutines, the "secret weapon" often used in server-side asynchrony.

‎content/en/blog/news/dubbo-fescar.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ sh seata-server.sh -p 8091 -h 127.0.0.1 -m file
228228
### Step 5: Run example
229229

230230
- Start AccountService ([DubboAccountServiceStarter](https://github.com/seata/seata-samples/blob/master/dubbo/src/main/java/io/seata/samples/dubbo/starter/DubboAccountServiceStarter.java)).
231-
- Start StorageService ([DubboStorageServiceStarter](https://github.com/seata/seata-samples/blob/master/dubbo/src/main/java/io/seata/samples/dubbo/starter/DubboStorageServiceStarter.java)).
231+
- Start StockService ([DubboStockServiceStarter](https://github.com/seata/seata-samples/blob/master/dubbo/src/main/java/io/seata/samples/dubbo/starter/DubboStockServiceStarter.java)).
232232
- Start OrderService ([DubboOrderServiceStarter](https://github.com/seata/seata-samples/blob/master/dubbo/src/main/java/io/seata/samples/dubbo/starter/DubboOrderServiceStarter.java)).
233233
- Run BusinessService for test ([DubboBusinessTester](https://github.com/seata/seata-samples/blob/master/dubbo/src/main/java/io/seata/samples/dubbo/starter/DubboBusinessTester.java)).
234234

‎content/en/blog/news/dubbo-generic-invoke.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,4 +185,4 @@ So far, a simple service Mock platform has been successfully launched!
185185
## Others
186186

187187
- 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.
188-
- 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
188+
- 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

‎content/en/blog/news/dubbo-graalvm-support.md‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ GraalVM we use here is based on jdk version 1.8.
2525

2626
## Get Started
2727

28-
For user's convenience, we provide the following demo in the [apache:2.7-native_image](https://github.com/apache/dubbo/tree/2.7-native_image) branch. In module dubbo-demo-native, dubbo's provider and consumer demos are given:
28+
For user's convenience, we provide the following demo in the [apache dubbo](https://github.com/apache/dubbo/) branch. In module dubbo-demo-native, dubbo's provider and consumer demos are given:
2929

3030
![](/imgs/blog/dubbo-graalvm-support/demo_path.png)
3131

@@ -329,7 +329,3 @@ public <T> T getProxy(Invoker<T> invoker, boolean generic) throws RpcException {
329329
The service here has multiple interfaces which have to be in order when requesting proxy. Set does not fulfill the requirement so we use ArrayList instead.
330330

331331
Major modifications to dubbo source code are listed above.
332-
333-
334-
335-
Link to the branch: https://github.com/apache/dubbo/tree/2.7-native_image

‎content/en/blog/news/dubbo-k8s.md‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ Here we only discuss the situation that the Dubbo service in the cluster is acce
8585

8686
1. DNS: The default Kubernetes service is based on the DNS plugin (The latest version of the recommendation is coreDNS), one proposal on Dubbo is about this.  since HSF/Dubbo has always highlighted its soft-load address discovery capability, it ignores Static's strategy insteadily, my understanding is that as a service discovery mechanism, the static resolution mechanism is one of the simplest and most needed to support mechanism, you can also refer to Envoy's point of views. While at the same time, ant's SOFA has always supported this static strategy, it can provides an explanation for an engineering fragment of the SOFA project. There are two advantages to doing this. 1) When the soft load center crash is unavailable and the address list cannot be obtained, there is a mechanism to Failover to this policy to handle certain requests. 2) Under LDC/unitization, the ant's load center cluster is deployed in the equipment room/area. First, the LDC of the soft load center is guaranteed to be stable and controllable. When the unit needs the request center, the address of the VIP can come in handy.
8787

88-
![img](https://img.alicdn.com/tfs/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png)
88+
![img](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1Kj1ktpkoBKNjSZFEXXbrEVXa-985-213.png)
8989

9090
2. API:DNS relies on the DNS plugin, which will generate additional operation, so consider directly obtaining the endpoint through the client of Kubernetes. In fact, by accessing the API server interface of Kubernetes, you can directly obtain the list of endpoints behind a certain servie, and can also monitor the changes in its address list. Thereby implementing the soft load discovery strategy recommended by Dubbo/HSF. Refer to the code for details:
9191

@@ -99,27 +99,27 @@ The above two thoughts need to consider the following two points:
9999
The following is a demo deployment through Kubernetes service in Alibaba Cloud's Container Registry and EDAS. Visit Alibaba Cloud -》Container Registry.
100100

101101
1. Create repo and bind the github codebase. As shown below.
102-
![img](https://img.alicdn.com/tfs/TB1m.tEtrorBKNjSZFjXXc_SpXa-1892-870.png)
102+
![img](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1m.tEtrorBKNjSZFjXXc_SpXa-1892-870.png)
103103

104104
2. Click Manage enter the repository details page. Click Build in images service panel, construct the demo into image and publish it to the specified repository. As shown below.
105-
![img](https://img.alicdn.com/tfs/TB1oYqvtcIrBKNjSZK9XXagoVXa-1872-888.png)
105+
![img](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1oYqvtcIrBKNjSZK9XXagoVXa-1872-888.png)
106106

107107

108108

109109
3. Switch to Enterprise Distributed Application Services (EDAS) products panel, visit Resource Management -> Clusters. Create Kubernetes cluster and bind ECS. As shown below.
110-
![img](https://img.alicdn.com/tfs/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png)
110+
![img](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1b1p2trZnBKNjSZFKXXcGOVXa-1858-833.png)
111111

112112

113113

114114
4. Application Management -> Create application, type Kubernetes application and specify the image in the container registry . As shown below.
115-
![img](https://img.alicdn.com/tfs/TB1_YywtDCWBKNjSZFtXXaC3FXa-1737-588.png)
115+
![img](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1_YywtDCWBKNjSZFtXXaC3FXa-1737-588.png)
116116

117-
![](https://img.alicdn.com/tfs/TB18uzTtdcnBKNjSZR0XXcFqFXa-1820-861.png)
117+
![](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB18uzTtdcnBKNjSZR0XXcFqFXa-1820-861.png)
118118

119119

120120

121121
5. After creation , then deploy applications. As shown below.
122-
![](https://img.alicdn.com/tfs/TB1fEpEtrorBKNjSZFjXXc_SpXa-1846-783.png)
122+
![](/imgs/blog/2018/09/30/integrate-dubbo-with-kubernetes/TB1fEpEtrorBKNjSZFjXXc_SpXa-1846-783.png)
123123

124124
- The supplementary application name cannot have uppercase letters, all lowercase, otherwise there is a problem of deployment failure.
125125

0 commit comments

Comments
 (0)