You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/06/19 03:26:39 UTC

[incubator-servicecomb-docs] 02/02: 更新负载均衡配置项的说明,细化provider端限流策略注意事项的说明

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-docs.git

commit 160b4d3a48676113d4b580d6a70f0ace8d302e2a
Author: yaohaishi <ya...@huawei.com>
AuthorDate: Wed Jun 13 12:59:09 2018 +0800

    更新负载均衡配置项的说明,细化provider端限流策略注意事项的说明
---
 .../build-provider/configuration/lb-strategy.md    | 27 +++++++++++-----------
 .../configuration/ratelimite-strategy.md           |  3 +--
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/java-chassis-reference/zh_CN/build-provider/configuration/lb-strategy.md b/java-chassis-reference/zh_CN/build-provider/configuration/lb-strategy.md
index 27a53b6..9028584 100644
--- a/java-chassis-reference/zh_CN/build-provider/configuration/lb-strategy.md
+++ b/java-chassis-reference/zh_CN/build-provider/configuration/lb-strategy.md
@@ -10,19 +10,20 @@ ServiceComb提供了基于Ribbon的负载均衡方案,用户可以通过配置
 
 | 配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
 | :--- | :--- | :--- | :--- | :--- | :--- |
-| servicecomb.loadbalance.strategy.name | RoundRobin | RoundRobin(轮询)<br/>Random(随机)<br/>WeightedResponse(服务器响应时间权值)<br/>SessionStickiness(会话保持) | 否 | 负载均衡路由策略 | - |
-| servicecomb.loadbalance.SessionStickinessRule.sessionTimeoutInSeconds | 30 | Integer | 否 | 客户端闲置时间,超过限制后选择后面的服务器。 | 暂不支持微服务配置。e.g. servicecomb.loadbalance.SessionStickinessRule.sessionTimeoutInSeconds,不能配置为servicecomb.loadbalance.DemoService.SessionStickinessRule.sessionTimeoutInSeconds |
-| servicecomb.loadbalance.SessionStickinessRule.successiveFailedTimes | 5 | Integer | 否 | 客户端失败次数,超过后会切换服务器 | 暂不支持微服务配置 |
-| servicecomb.loadbalance.retryEnabled | FALSE | Boolean | 否 | 负载均衡捕获到服务调用异常,是否进行重试 | - |
-| servicecomb.loadbalance.retryOnNext | 0 | Integer | 否 | 尝试新的服务器的次数 | - |
-| servicecomb.loadbalance.retryOnSame | 0 | Integer | 否 | 同一个服务器尝试的次数 | - |
-| servicecomb.loadbalance.isolation.enabled | FALSE | Boolean | 否 | 是否开启故障实例隔离功能 | - |
-| servicecomb.loadbalance.isolation.enableRequestThreshold | 20 | Integer | 否 | 当实例的调用总次数达到该值时开始进入隔离逻辑门槛 | - |
-| servicecomb.loadbalance.isolation.continuousFailureThreshold | - | Integer | 否 | 当请求实例连续出错达到此阈值时触发实例隔离 | 若配置了此项则覆盖实例故障百分比的配置,否则按照实例故障百分比触发隔离。<br/>由于按请求错误率触发实例隔离在请求次数较多时不易触发也不易恢复,因此建议使用此配置项代替实例故障百分比配置。<br/>请求实例成功时会将连续错误次数请零以保证实例快速恢复。 |
-| servicecomb.loadbalance.isolation.errorThresholdPercentage | 20 | Integer,区间为\(0,100\] | 否 | 实例故障隔离错误百分比 | - |
-| servicecomb.loadbalance.isolation.singleTestTime | 10000 | Integer | 否 | 故障实例单点测试时间 | 单位为ms |
-| servicecomb.loadbalance.transactionControl.policy | org.apache.servicecomb.loadbalance.filter.SimpleTransactionControlFilter | - | 否 | 动态路由分流策略 | 框架提供了简单的分流机制,开发者也可以实现自定义的分流过滤策略 |
-| servicecomb.loadbalance.transactionControl.options | - | key/value pairs | 否 | 针对SimpleTransactionControlFilter分流策略的配置项,可添加任意项过滤标签 | - |
+| servicecomb.loadbalance.\[服务名\].strategy.name | RoundRobin | RoundRobin(轮询)<br/>Random(随机)<br/>WeightedResponse(服务器响应时间权值)<br/>SessionStickiness(会话保持) | 否 | 负载均衡路由策略 | - |
+| servicecomb.loadbalance.\[服务名\].SessionStickinessRule.sessionTimeoutInSeconds | 30 | Integer | 否 | 客户端闲置时间,超过限制后选择后面的服务器。 | - |
+| servicecomb.loadbalance.\[服务名\].SessionStickinessRule.successiveFailedTimes | 5 | Integer | 否 | 客户端失败次数,超过后会切换服务器 | - |
+| servicecomb.loadbalance.\[服务名\].retryEnabled | FALSE | Boolean | 否 | 负载均衡捕获到服务调用异常,是否进行重试 | - |
+| servicecomb.loadbalance.\[服务名\].retryOnNext | 0 | Integer | 否 | 尝试新的服务器的次数 | - |
+| servicecomb.loadbalance.\[服务名\].retryOnSame | 0 | Integer | 否 | 同一个服务器尝试的次数 | - |
+| servicecomb.loadbalance.\[服务名\].isolation.enabled | FALSE | Boolean | 否 | 是否开启故障实例隔离功能 | - |
+| servicecomb.loadbalance.\[服务名\].isolation.enableRequestThreshold | 20 | Integer | 否 | 当实例的调用总次数达到该值时开始进入隔离逻辑门槛 | - |
+| servicecomb.loadbalance.\[服务名\].isolation.continuousFailureThreshold | - | Integer | 否 | 当请求实例连续出错达到此阈值时触发实例隔离 | 若配置了此项则覆盖实例故障百分比的配置,否则按照实例故障百分比触发隔离。<br/>由于按请求错误率触发实例隔离在请求次数较多时不易触发也不易恢复,因此建议使用此配置项代替实例故障百分比配置。<br/>请求实例成功时会将连续错误次数请零以保证实例快速恢复。 |
+| servicecomb.loadbalance.\[服务名\].isolation.errorThresholdPercentage | 20 | Integer,区间为\(0,100\] | 否 | 实例故障隔离错误百分比 | - |
+| servicecomb.loadbalance.\[服务名\].isolation.singleTestTime | 10000 | Integer | 否 | 故障实例单点测试时间 | 单位为ms |
+
+**说明**:
+- 以上配置项都支持全局和微服务两个粒度的配置。例如:servicecomb.loadbalance.strategy.name是全局的负载均衡路由策略;servicecomb.loadbalance.DemoService.strategy.name是仅在调用DemoService服务时生效的负载均衡路由策略。
 
 ## 示例代码
 
diff --git a/java-chassis-reference/zh_CN/build-provider/configuration/ratelimite-strategy.md b/java-chassis-reference/zh_CN/build-provider/configuration/ratelimite-strategy.md
index b503f04..5d4dca5 100644
--- a/java-chassis-reference/zh_CN/build-provider/configuration/ratelimite-strategy.md
+++ b/java-chassis-reference/zh_CN/build-provider/configuration/ratelimite-strategy.md
@@ -6,7 +6,7 @@
 
 1. 限流策略的控制并不是绝对精确的,可能会有少量误差。
 2. provider端的流量控制是业务层面的功能,不是安全意义上的流量控制,如需防止DDoS攻击,需要结合其他的一系列措施。
-3. 流量控制是微服务级的,不是进程级的。
+3. 流量控制是微服务级的,不是实例级的。例如一个consumer服务有三个实例,当对它们依赖的provider实例配置限流策略后,provider不会区分consumer的请求具体是由哪个实例发出的,而是汇总成微服务级的统计数据进行限流判断。
 
 ## 配置说明
 
@@ -39,4 +39,3 @@
 
 > **注意:**
 > provider端限流策略配置中的`ServiceName`指的是调用该provider的consumer,而`shema`、`operation`指的是provider自身的。即provider端限流配置的含义是,限制指定consumer调用本provider的某个schema、operation的流量。
-