Skip to content

Commit

Permalink
Fix link
Browse files Browse the repository at this point in the history
  • Loading branch information
AlbumenJ committed Sep 10, 2024
1 parent 606a503 commit 4bf7271
Show file tree
Hide file tree
Showing 20 changed files with 35 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,18 @@ For an introduction to more extensions of Dubbo3 SPI, see [Dubbo SPI Extensions]

For the livenessProbe liveness detection, since the Dubbo3 framework itself cannot obtain the liveness status of the application, this interface has no default implementation and returns success by default. Developers can expand this SPI interface according to the SPI definition, and judge whether it is alive or not from the application level.

About [liveness liveness probe](../../../reference-manual/spi/description/liveness/) extension example
About [liveness liveness probe](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/liveness/) extension example
### Readiness check

For the readinessProbe readiness detection, Dubbo3 currently provides two detection dimensions by default. One is to judge whether the Dubbo3 service itself is started or stopped, and the other is to check whether all services have registered interfaces. If all services have been offline from the registration center (you can Operate via QOS Operations) will return Not Ready.

About the [readiness readiness probe](../../../reference-manual/spi/description/readiness/) extended example
About the [readiness readiness probe](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/readiness/) extended example

### Start detection

For startupProbe startup detection, Dubbo3 currently provides a detection dimension by default, which is to return to the ready state after all startup processes (interface exposure, registration center writing, etc.) are completed.

About the [startup startup probe](../../../reference-manual/spi/description/startup/) extended example
About the [startup startup probe](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/startup/) extended example

### Reference example
```yaml
Expand All @@ -67,4 +67,4 @@ startupProbe:
```
> QOS When the computing node detects memory pressure, kuberentes will BestEffort -> Burstable -> Guaranteed to evict Pods in sequence.
At present, all three probes have corresponding interfaces, and the path is the command in QOS. Please modify the port information according to the QOS configuration (the default port is 22222). For other parameters, please refer to [Kubernetes official documentation](https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/).
At present, all three probes have corresponding interfaces, and the path is the command in QOS. Please modify the port information according to the QOS configuration (the default port is 22222). For other parameters, please refer to [Kubernetes official documentation](https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/).
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ dubbo.application.logger=log4j
<dubbo:application logger="log4j" />
```

For custom extensions, please refer to [Log Adapter Extension](../../../reference-manual/spi/description/logger-adapter)
For custom extensions, please refer to [Log Adapter Extension](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/logger-adapter)

## Logging framework runtime management
### 1. Query log configuration
Expand Down Expand Up @@ -117,4 +117,4 @@ dubbo>switchLogger slf4j
OK
dubbo>loggerInfo
Available logger adapters: [jcl, slf4j, log4j, jdk]. Current Adapter: [slf4j]. Log level: INFO
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The service container of Dubbo 3 is a standalone startup program, because the ba

The Dubbo3 service container is just a simple Main method and loads a simple Spring container for exposing services.

The loading content of the service container can be extended, and spring, jetty, log4j, etc. are built-in, and can be extended through [container extension point](../../../reference-manual/spi/description/container). The configuration is configured in the -D parameter of the java command or `dubbo.properties`.
The loading content of the service container can be extended, and spring, jetty, log4j, etc. are built-in, and can be extended through [container extension point](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/container). The configuration is configured in the -D parameter of the java command or `dubbo.properties`.

## scenes to be used
The web container is mainly used to respond to http requests and static pages. The Dubbo service provider only provides dubbo services externally. It is not suitable to use the web container. As a dubbo service provider alone, it only needs to load a simple spring container through a main method Expose the service.
Expand Down Expand Up @@ -57,4 +57,4 @@ java org.apache.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j
Pass in the container to be loaded through `dubbo.properties` configuration under the classpath
```fallback
dubbo.container=spring,jetty,log4j
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ When cluster load balancing, Dubbo provides a variety of balancing strategies, t

In terms of specific implementation, Dubbo provides client load balancing, that is, the Consumer uses the load balancing algorithm to determine which Provider instance to submit the request to.

You can expand the load balancing strategy by yourself, see: [Load Balance Extension](../../../reference-manual/spi/description/load-balance)
You can expand the load balancing strategy by yourself, see: [Load Balance Extension](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/load-balance)

## load balancing strategy
Currently Dubbo has the following built-in load balancing algorithms, which users can directly configure and use:
Expand Down Expand Up @@ -102,4 +102,4 @@ Response time here = the average response time of a provider within the window t
<dubbo:reference interface="...">
<dubbo:method name="..." loadbalance="roundrobin"/>
</dubbo:reference>
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Scenarios that need to collect and analyze the precise time consumption of Dubbo

## How to use

`simple profiler` is automatically enabled by default, and for requests whose processing time exceeds 3/4 of the timeout time, the slow call information will be printed out through the log. If you need to enable the `detail profiler` mode or modify the timeout alarm ratio, you can refer to the [performance sampling command](../../../reference-manual/qos/profiler/) document.
`simple profiler` is automatically enabled by default, and for requests whose processing time exceeds 3/4 of the timeout time, the slow call information will be printed out through the log. If you need to enable the `detail profiler` mode or modify the timeout alarm ratio, you can refer to the [performance sampling command](/zh-cn/overview/mannual/java-sdk/reference-manual/qos/profiler/) document.

### output example

Expand Down Expand Up @@ -186,4 +186,4 @@ Start time: 285965612316294
+-[ Offset: 1.558545ms; Usage: 804.276436ms, 99% ] Receive request. Server biz impl invoke begin., dubbo version: 3.0.10-SNAPSHOT, current host: xx.xx.xx.xx
```

Note: If the log is empty due to the mismatch of the log framework, you can refer to [Log Framework Adaptation and Runtime Management](../../others/logger-management/) to dynamically modify the log output framework.
Note: If the log is empty due to the mismatch of the log framework, you can refer to [Log Framework Adaptation and Runtime Management](../../others/logger-management/) to dynamically modify the log output framework.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ description: "Speed up access by caching results"
* `threadlocal` The current thread cache, such as a page rendering, uses many portals, and each portal needs to check user information. Through thread caching, this redundant access can be reduced.
* `jcache` integrates with [JSR107](http://jcp.org/en/jsr/detail?id=107%27) to bridge various cache implementations.

Cache Type Extensible [Cache Extensions](../../../reference-manual/spi/description/cache)
Cache Type Extensible [Cache Extensions](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/cache)

About [sample code](https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-cache)

Expand All @@ -33,4 +33,4 @@ or:
<dubbo:reference interface="com.foo.BarService">
<dubbo:method name="findBar" cache="lru" />
</dubbo:reference>
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Many of Dubbo's traffic management capabilities are implemented based on Router.
When Dubbo receives the address change, it will push the address information to all `Routers`, and these `Routers` can calculate the routing packets in advance at this stage and cache them to avoid the need to traverse all provider calculations when calling grouping parameters.
The `StateRouter` introduced in Dubbo 3 provides the ability to obtain the status of each route in real time through the qos command tool.

The operation and maintenance personnel can obtain the status of the route through the `getRouterSnapshot` command. For specific commands, please refer to the [getRouterSnapshot command](../../../reference-manual/qos/router-snapshot/#getroutersnapshot-command) document.
The operation and maintenance personnel can obtain the status of the route through the `getRouterSnapshot` command. For specific commands, please refer to the [getRouterSnapshot command](/zh-cn/overview/mannual/java-sdk/reference-manual/qos/router-snapshot/#getroutersnapshot-command) document.

**Note: This feature only supports `StateRoute`, and `StateRouter` needs to implement the `doBuildSnapshot` interface based on `AbstractStateRouter`. **

Expand Down Expand Up @@ -76,4 +76,4 @@ dubbo>
```

#### Notice:
If the log is empty due to the mismatch of the log framework, you can refer to [Log Framework Adaptation and Runtime Management](../../others/logger-management/) to dynamically modify the log output framework.
If the log is empty due to the mismatch of the log framework, you can refer to [Log Framework Adaptation and Runtime Management](../../others/logger-management/) to dynamically modify the log output framework.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Each node relationship:

## Cluster fault tolerance mode

You can expand the cluster fault-tolerant strategy by yourself, see: [Cluster Expansion](../../../reference-manual/spi/description/cluster/)
You can expand the cluster fault-tolerant strategy by yourself, see: [Cluster Expansion](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/cluster/)

### Failover Cluster

Expand Down Expand Up @@ -134,4 +134,4 @@ or

```xml
<dubbo:reference cluster="failsafe" />
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ One method does not combine results, others combine results
```
### Specify merge strategy

Specify the merge strategy, the default is to automatically match according to the return value type, if there are two combiners of the same type, you need to specify the name of the combiner [Merge result extension](../../../reference-manual/spi/ description/merger)
Specify the merge strategy, the default is to automatically match according to the return value type, if there are two combiners of the same type, you need to specify the name of the combiner [Merge result extension](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/ description/merger)

```xml
<dubbo:reference interface="com.xxx.MenuService" group="*">
Expand All @@ -66,4 +66,4 @@ Specify the merge method to merge the specified method that returns the result o
```

#### hint:
Supported since `2.1.0` version
Supported since `2.1.0` version
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ If only the test environment temporarily needs to connect to two different regis
</beans>
```

[^1]: You can extend the registry by yourself, see: [Registry Extension](../../../reference-manual/spi/description/registry)
[^1]: You can extend the registry by yourself, see: [Registry Extension](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/registry)
Original file line number Diff line number Diff line change
Expand Up @@ -193,4 +193,4 @@ public class ValidationConsumer {
}
```

> **The validation method can be extended, see [Validation Extension](../../../reference-manual/spi/description/validation) in the developer manual for the extension method**
> **The validation method can be extended, see [Validation Extension](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/validation) in the developer manual for the extension method**
Original file line number Diff line number Diff line change
Expand Up @@ -77,18 +77,18 @@ Dubbo3 SPI 更多扩展的介绍见 [Dubbo SPI扩展](/zh-cn/overview/mannual/ja

对于 livenessProbe 存活检测,由于 Dubbo3 框架本身无法获取到应用的存活状态,因此本接口无默认实现,且默认返回成功。开发者可以根据 SPI 定义对此 SPI 接口进行拓展,从应用层次对是否存活进行判断。

关于 [liveness 存活探针](../../../reference-manual/spi/description/liveness/) 扩展示例
关于 [liveness 存活探针](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/liveness/) 扩展示例
### 就绪检测

对于 readinessProbe 就绪检测,目前 Dubbo3 默认提供了两个检测维度,一是对 Dubbo3 服务自身是否启停做判断,另外是对所有服务是否存在已注册接口,如果所有服务均已从注册中心下线(可以通过 QOS 运维进行操作)将返回未就绪的状态。

关于 [readiness 就绪探针](../../../reference-manual/spi/description/readiness/) 扩展示例
关于 [readiness 就绪探针](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/readiness/) 扩展示例

### 启动检测

对于 startupProbe 启动检测,目前 Dubbo3 默认提供了一个检测维度,即是在所有启动流程(接口暴露、注册中心写入等)均结束后返回已就绪状态。

关于 [startup 启动探针](../../../reference-manual/spi/description/startup/) 扩展示例
关于 [startup 启动探针](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/startup/) 扩展示例

### 参考示例
```yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ weight: 28
</dubbo:service>
```

> 如果 `<dubbo:service>``<dubbo:reference>` 都配了actives,`<dubbo:reference>` 优先,参见:[配置的覆盖策略](../../../reference-manual/config/principle/)
> 如果 `<dubbo:service>``<dubbo:reference>` 都配了actives,`<dubbo:reference>` 优先,参见:[配置的覆盖策略](/zh-cn/overview/mannual/java-sdk/reference-manual/config/principle/)
### Load Balance 均衡

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ weight: 29
<dubbo:service interface="com.foo.BarService" connections="10" />
```

如果 `<dubbo:service>``<dubbo:reference>` 都配了 connections,`<dubbo:reference>` 优先,参见:[配置的覆盖策略](../../../reference-manual/config/principle/)
如果 `<dubbo:service>``<dubbo:reference>` 都配了 connections,`<dubbo:reference>` 优先,参见:[配置的覆盖策略](/zh-cn/overview/mannual/java-sdk/reference-manual/config/principle/)

[^1]: 因为连接在 Server上,所以配置在 Provider 上
[^2]: 如果是长连接,比如 Dubbo 协议,connections 表示该服务对每个提供者建立的长连接数
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,4 @@ public class ValidationConsumer {
}
```

> **验证方式可扩展,扩展方式参见开发者手册中的 [验证扩展](../../../reference-manual/spi/description/validation)**
> **验证方式可扩展,扩展方式参见开发者手册中的 [验证扩展](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/validation)**
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Dubbo支持了服务端结果缓存和客户端结果缓存。
* `threadlocal` 当前线程缓存,比如一个页面渲染,用到很多 portal,每个 portal 都要去查用户信息,通过线程缓存,可以减少这种多余访问。
* `jcache`[JSR107](http://jcp.org/en/jsr/detail?id=107%27) 集成,可以桥接各种缓存实现。

缓存类型可扩展 [缓存扩展](../../../reference-manual/spi/description/cache)
缓存类型可扩展 [缓存扩展](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/cache)

关于 [示例代码](https://github.com/apache/dubbo-samples/tree/master/2-advanced/dubbo-samples-cache)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ No provider available after route for the service 服务 from registry 注册中

#### 开启路由全采样

在一些特殊情况下,请求可能调用到错误的服务端,但是因为选址非空,所以无法看到路由的过程信息,此时可以 [通过 qos 开启路由全采样](../../../reference-manual/qos/router-snapshot/)。通过 qos 的 `getRecentRouterSnapshot` 命令可以远程获取最近的路由快照。
在一些特殊情况下,请求可能调用到错误的服务端,但是因为选址非空,所以无法看到路由的过程信息,此时可以 [通过 qos 开启路由全采样](/zh-cn/overview/mannual/java-sdk/reference-manual/qos/router-snapshot/)。通过 qos 的 `getRecentRouterSnapshot` 命令可以远程获取最近的路由快照。

```
dubbo>getRecentRouterSnapshot
Expand All @@ -86,4 +86,4 @@ dubbo>
```

#### 注意:
由于日志框架不匹配导致的日志为空可以参考[日志框架适配及运行时管理](../../others/logger-management/)动态修改日志输出框架。
由于日志框架不匹配导致的日志为空可以参考[日志框架适配及运行时管理](../../others/logger-management/)动态修改日志输出框架。
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ reference3.setGroup("*");
```
### 指定合并策略

指定合并策略,缺省根据返回值类型自动匹配,如果同一类型有两个合并器时,需指定合并器的名称 [合并结果扩展](../../../reference-manual/spi/description/merger)
指定合并策略,缺省根据返回值类型自动匹配,如果同一类型有两个合并器时,需指定合并器的名称 [合并结果扩展](/zh-cn/overview/mannual/java-sdk/reference-manual/spi/description/merger)

```xml
<dubbo:reference interface="com.xxx.MenuService" group="*">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ weight: 3

{{% alert title="注意" color="warning" %}}
从 Dubbo 3.3 版本开始,rest 协议已移至 extensions 库,由 triple 协议来对 Rest 提供更全面的支持,新版本的内置协议实现只剩下 triple 和 dubbo。
<br>因此,当我们提到 rest 时,都是指 triple 协议的 rest 访问支持能力,具体参见 [Triple Rest用户手册](../../../reference-manual/protocol/tripe-rest-manual/)
<br>因此,当我们提到 rest 时,都是指 triple 协议的 rest 访问支持能力,具体参见 [Triple Rest用户手册](/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/)
{{% /alert %}}

在讲解 [triple 协议示例](../triple/interface/#curl) 时,我们曾提到 triple 协议支持以 `application/json` 格式直接访问:
Expand Down Expand Up @@ -135,7 +135,7 @@ curl -v -H "c: 3" -d 'name=Yang' "http://127.0.0.1:8081/org.apache.dubbo.rest.de
#Hello Mr. Yang, 3
```

代码讲解:<br />可以看到输出 Hello Mr. Yang, 3 ,没有双引号是因为通过指定后缀 txt 的方式要求用 `text/plain` 输出<br />通过这个例子可以了解如何通过 Mapping 注解来定制路径,通过 Param 注解来定制参数来源,并支持通过 post body 或 url方式传递参数,详细说明参见: [Basic使用指南](../../../reference-manual/protocol/tripe-rest-manual/#GdlnC)
代码讲解:<br />可以看到输出 Hello Mr. Yang, 3 ,没有双引号是因为通过指定后缀 txt 的方式要求用 `text/plain` 输出<br />通过这个例子可以了解如何通过 Mapping 注解来定制路径,通过 Param 注解来定制参数来源,并支持通过 post body 或 url方式传递参数,详细说明参见: [Basic使用指南](/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/tripe-rest-manual/#GdlnC)
<a name="KNfuq"></a>

### 观察日志
Expand Down
Loading

0 comments on commit 4bf7271

Please sign in to comment.