Skip to content

Commit

Permalink
Fix links
Browse files Browse the repository at this point in the history
  • Loading branch information
AlbumenJ committed Sep 9, 2024
1 parent 2b69c25 commit 0d43980
Show file tree
Hide file tree
Showing 27 changed files with 469 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ default=org.apache.dubbo.samples.basic.comtomize.MyGrpcConfigurator

**三、TLS 配置**

配置方式和 Dubbo 提供的通用的 [TLS 支持](/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/security/tls/)一致,具体请参见文档
配置方式和 Dubbo 提供的通用的 [TLS 支持](/zh-cn/overview/mannual/java-sdk/reference-manual/protocol/tls/)一致,具体请参见文档



Expand Down
2 changes: 1 addition & 1 deletion content/zh-cn/blog/news/20230130-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Dubbo 3.1.5 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有

### FAQ

本次发布中有 5 个提交涉及异常日志 FAQ 的完善。关于错误码机制请参考官网[错误码机制介绍](/zh-cn/overview/mannual/java-sdk/faq/intro/)一文。
本次发布中有 5 个提交涉及异常日志 FAQ 的完善。关于错误码机制请参考官网[错误码机制介绍](/zh-cn/overview/java-sdk/reference-manual/faq/intro/)一文。

### 代码优化

Expand Down
2 changes: 1 addition & 1 deletion content/zh-cn/blog/news/releases/3.1.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Dubbo 3.1.4 版本是目前 Dubbo 3 的最新稳定版本,我们建议所有

### FAQ

本次发布中有 3 个提交涉及异常日志 FAQ 的完善。关于错误码机制请参考官网错误码机制介绍一文。(https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/faq/intro/)
本次发布中有 3 个提交涉及异常日志 FAQ 的完善。关于错误码机制请参考官网错误码机制介绍一文。(https://cn.dubbo.apache.org/zh-cn/overview/java-sdk/reference-manual/faq/intro/)

### 代码优化

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/faq/intro/
- /zh-cn/docs3-v2/java-sdk/faq/intro/
- /zh-cn/overview/mannual/java-sdk/faq/intro/
description: 错误码机制的介绍
linkTitle: 错误码机制的介绍
title: 错误码机制的介绍
Expand Down Expand Up @@ -48,4 +49,4 @@ void warn(String code, String cause, String extendedInformation, String msg, Thr

其中 code 指错误码,cause 指可能的原因(即 caused by... 后面所接的文字),extendedInformation 作为补充信息,直接附加在 caused by 这句话的后面。

> 对于 error 级别也做了相同的扩展。
> 对于 error 级别也做了相同的扩展。
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/multi-protocols/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/multi-protocols/
- /zh-cn/overview/tasks/protocols/multi-protocols/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/multi-protocols
description: 在 Dubbo 中配置多协议
linkTitle: 多协议
title: 多协议
Expand Down Expand Up @@ -132,4 +133,4 @@ dubbo:
protocol:
name: dubbo
ext-protocol: tri
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/reference-manual/protocol/triple/rest/manual/
- /zh-cn/docs3-v2/java-sdk/reference-manual/protocol/triple/rest/manual/
- /zh-cn/overview/mannual/java-sdk/reference-manual/protocol/rest/
description: "本文是Triple Rest的用户使用手册"
linkTitle: triple-rest用户手册
title: triple-rest用户手册
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/reference-manual/qos/logger-management/
- /zh-cn/docs3-v2/java-sdk/reference-manual/qos/logger-management/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/others/logger-management/
description: 在 Dubbo 中运行时动态切换使用的日志框架
linkTitle: 日志框架运行时管理
title: 日志框架运行时管理
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
aliases:
- /zh/docsv2.7/user/examples/fault-tolerent-strategy/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/fault-tolerent-strategy/
description: 集群调用失败时,Dubbo 提供的容错方案
linkTitle: 集群容错(重试)
title: 集群容错
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/callback-parameter/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/callback-parameter/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/callback-parameter/
description: 通过参数回调从服务器端调用客户端逻辑
linkTitle: 服务端对客户端进行回调
title: 服务端对客户端进行回调
Expand Down Expand Up @@ -123,4 +124,4 @@ callbackService.addListener("foo.bar", new CallbackListener(){
System.out.println("callback1:" + msg);
}
});
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/performance/concurrency-control/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/performance/concurrency-control/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/concurrency-control/
description: Dubbo 中的并发控制
linkTitle: 并发控制
title: 并发控制
Expand Down Expand Up @@ -88,4 +89,4 @@ weight: 28

```xml
<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ aliases:
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/stickiness/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/lazy-connect/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/config-connections/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/config-connections/
description: Dubbo 中服务端和客户端的连接控制
linkTitle: 连接控制
title: 连接控制
Expand Down Expand Up @@ -100,4 +101,4 @@ Dubbo 支持方法级别的粘滞连接,如果你想进行更细粒度的控
<dubbo:protocol name="dubbo" lazy="true" />
```

> 该配置只对使用长连接的 dubbo 协议生效。
> 该配置只对使用长连接的 dubbo 协议生效。
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/echo-service/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/echo-service/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/echo-service/
description: 通过回声测试检测 Dubbo 服务是否可用
linkTitle: 回声测试
title: 回声测试
Expand Down Expand Up @@ -37,4 +38,4 @@ private DemoService demoService;
EchoService echoService = (EchoService) demoService;

String status = (String) echoService.$echo("OK");
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/events-notify/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/events-notify/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/events-notify/
description: 在调用前后出现异常时的事件通知
linkTitle: 调用触发事件通知
title: 调用触发事件通知
Expand Down Expand Up @@ -109,4 +110,4 @@ for (int i = 0; i < 10; i++) {
}
}
Assert.assertEquals(requestId, notify.ret.get(requestId).getId());
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/explicit-target/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/explicit-target/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/explicit-target/
description: Dubbo 中点对点的直连方式
linkTitle: 直连提供者
title: 直连提供者
Expand Down Expand Up @@ -66,4 +67,4 @@ com.alibaba.xxx.XxxService=dubbo://localhost:20890

{{% alert title="注意" color="warning" %}}
为了避免复杂化线上环境,不要在线上使用这个功能,只应在测试阶段使用。
{{% /alert %}}
{{% /alert %}}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/local-call/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/local-call/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/local-call/
description: 在 Dubbo 中进行本地调用
linkTitle: 本地调用
title: 本地调用
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ aliases:
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/local-mock/
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/service-downgrade/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/service-downgrade/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/local-mock/
description: 了解如何在 Dubbo 中利用本地伪装实现服务降级
linkTitle: 服务降级
title: 服务讲解(本地伪装)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/service/local-stub/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/service/local-stub/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/service/local-stub/
description: 了解 Dubbo 中本地存根在客户端执行部分逻辑的使用
linkTitle: 本地存根
title: 本地存根
Expand Down Expand Up @@ -59,4 +60,4 @@ public class BarServiceStub implements BarService {
```

[^1]: Stub 必须有可传入 Proxy 的构造函数。
[^2]: 在 interface 旁边放一个 Stub 实现,它实现 BarService 接口,并有一个传入远程 BarService 实例的构造函数。
[^2]: 在 interface 旁边放一个 Stub 实现,它实现 BarService 接口,并有一个传入远程 BarService 实例的构造函数。
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
aliases:
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/others/set-host/
description: 自定义 Dubbo 服务对外暴露的主机地址
linkTitle: 主机配置
title: 主机配置
type: docs
weight: 37
---



## 背景

在 Dubbo 中, Provider 启动时主要做两个事情,一是启动 server,二是向注册中心注册服务。启动 server 时需要绑定 socket,向注册中心注册服务时也需要发送 socket 唯一标识服务地址。

1. `dubbo`中不设置`host`时默认`host`是什么?
2. 那在`dubbo`中如何指定服务的`host`,我们是否可以用hostname或domain代替IP地址作为`host`?
3. 在使用docker时,有时需要设置端口映射,此时,启动server时绑定的socket和向注册中心注册的socket使用不同的端口号,此时又该如何设置?

## 示例
#### dubbo 中不设置 host 时默认 host 是什么

一般的 dubbo 协议配置如下:
``` xml
...
<dubbo:protocol name="dubbo" port="20890" />
...
```

可以看到,只配置了端口号,没有配置 host,此时设置的 host 又是什么呢?

查看代码发现,在 `org.apache.dubbo.config.ServiceConfig#findConfigedHosts()` 中,通过 `InetAddress.getLocalHost().getHostAddress()` 获取默认 host。其返回值如下:

1. 未联网时,返回 127.0.0.1
2. 在阿里云服务器中,返回私有地址,如: 172.18.46.234
3. 在本机测试时,返回公有地址,如: 30.5.10.11

#### 那在 dubbo 中如何指定服务的 socket?

除此之外,可以通过 `dubbo.protocol``dubbo.provider ``host` 属性对 `host` 进行配置,支持IP地址和域名,如下:

``` xml
...
<dubbo:protocol name="dubbo" port="20890" host="www.example.com"/>
...
```

#### 在使用 docker 时,有时需要设置端口映射,此时,启动 server 时绑定的 socket 和向注册中心注册的 socket 使用不同的端口号,此时又该如何设置?

[dubbo 通过环境变量设置 host](https://github.com/dubbo/dubbo-samples/tree/master/2-advanced/dubbo-samples-docker)

有些部署场景需要动态指定服务注册的地址,如 docker bridge 网络模式下要指定注册宿主机 ip 以实现外网通信。dubbo 提供了两对启动阶段的系统属性,用于设置对外通信的ip、port地址。

* **DUBBO_IP_TO_REGISTRY**:注册到注册中心的 ip 地址
* **DUBBO_PORT_TO_REGISTRY**:注册到注册中心的 port 端口
* **DUBBO_IP_TO_BIND**:监听 ip 地址
* **DUBBO_PORT_TO_BIND**:监听 port 端口

以上四个配置项均为可选项,如不配置 dubbo 会自动获取 ip 与端口,请根据具体的部署场景灵活选择配置。
dubbo 支持多协议,如果一个应用同时暴露多个不同协议服务,且需要为每个服务单独指定 ip 或 port,请分别在以上属性前加协议前缀。 如:

* **HESSIAN_DUBBO_PORT_TO_BIND**:hessian 协议绑定的 port
* **DUBBO_DUBBO_PORT_TO_BIND**:dubbo 协议绑定的 port
* **HESSIAN_DUBBO_IP_TO_REGISTRY**:hessian 协议注册的 ip
* **DUBBO_DUBBO_IP_TO_REGISTRY**:dubbo 协议注册的 ip

PORT_TO_REGISTRY 或 IP_TO_REGISTRY 不会用作默认 PORT_TO_BIND 或 IP_TO_BIND,但是反过来是成立的。如:

* 设置 `PORT_TO_REGISTRY=20881``IP_TO_REGISTRY=30.5.97.6`,则 `PORT_TO_BIND``IP_TO_BIND` 不受影响
* 设置 `PORT_TO_BIND=20881``IP_TO_BIND=30.5.97.6`,则默认 `PORT_TO_REGISTRY=20881``IP_TO_REGISTRY=30.5.97.6`

## 总结

1. 可以通过`dubbo.protocol``dubbo.provider``host`属性对`host`进行配置,支持IP地址和域名.但此时注册到注册中心的IP地址和监听IP地址是同一个值
2. 为了解决在虚拟环境或局域网内consumer无法与provider通信的问题,可以通过环境变量分别设置注册到注册中心的IP地址和监听IP地址,其优先级高于`dubbo.protocol``dubbo.provider``host`配置

## 参考

1. [Proposal: support hostname or domain in service discovery.](https://github.com/apache/dubbo/issues/2043)
2. [dubbo通过环境变量设置host](https://github.com/dubbo/dubbo-samples/tree/master/2-advanced/dubbo-samples-docker)
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/performance/threading-model/consumer/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/performance/threading-model/consumer/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/threading-model/consumer/
description: Dubbo 消费端线程池模型用法
linkTitle: 线程模型
title: 消费端线程模型,提供者端线程模型
Expand Down Expand Up @@ -420,4 +421,4 @@ dubbo:
application:
name: dubbo-springboot-demo-provider
dump-directory: /tmp
```
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
description: 演示 Dubbo 配置安全策略的方式
hide: true
linkTitle: 安全策略
title: 安全策略
type: docs
weight: 12
---
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
aliases:
- /zh/docs3-v2/java-sdk/advanced-features-and-usage/security/auth/
- /zh-cn/docs3-v2/java-sdk/advanced-features-and-usage/security/auth/
- /zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/security/auth/
description: 了解 Dubbo 服务鉴权
linkTitle: 服务鉴权
title: 服务鉴权
type: docs
weight: 100
weight: 23
---


Expand Down Expand Up @@ -47,4 +48,4 @@ weight: 100
### 服务消费端
只需要配置好对应的证书等信息即可,之后会自动地在对这些需要认证的接口发起调用前进行签名操作,通过与鉴权服务的交互,用户无需在代码中配置 AK/SK 这些敏感信息,并且在不重启应用的情况下刷新 AK/SK,达到权限动态下发的目的。

> 该方案目前已经提交给 Dubbo 开源社区,并且完成了基本框架的合并,除了 AK/SK 的鉴权方式之外,通过 SPI 机制支持用户可定制化的鉴权认证以及适配公司内部基础设施的密钥存储。
> 该方案目前已经提交给 Dubbo 开源社区,并且完成了基本框架的合并,除了 AK/SK 的鉴权方式之外,通过 SPI 机制支持用户可定制化的鉴权认证以及适配公司内部基础设施的密钥存储。
Loading

0 comments on commit 0d43980

Please sign in to comment.