update docs

pull/1039/head
fangjian0423 5 years ago
parent ccadd523b9
commit d5ce46fd7f

@ -10,17 +10,15 @@ Dubbo Spring Cloud 基于 Dubbo Spring Boot 2.7.3[1] 和 Spring Cloud 2.x 开发
由于 Dubbo Spring Cloud 构建在原生的 Spring Cloud 之上,其服务治理方面的能力可认为是 Spring Cloud Plus
不仅完全覆盖 Spring Cloud 原生特性[5],而且提供更为稳定和成熟的实现,特性比对如下表所示:
:frame: topbot
[width="60%",options="header"]
|====
^|功能组件 ^|Spring Cloud ^|Dubbo Spring Cloud
|===
|功能组件 |Spring Cloud |Dubbo Spring Cloud
| 分布式配置Distributed configuration | Git、Zookeeper、Consul、JDBC | Spring Cloud 分布式配置 + Dubbo 配置中心[6]
| 服务注册与发现Service registration and discovery | Eureka、Zookeeper、Consul | Spring Cloud 原生注册中心[7] + Dubbo 原生注册中心[8]
| 负载均衡Load balancing | Ribbon随机、轮询等算法 | Dubbo 内建实现(随机、轮询等算法 + 权重等特性)
| 服务熔断Circuit Breakers | Spring Cloud Hystrix | Spring Cloud Hystrix + Alibaba Sentinel[9] 等
| 服务调用Service-to-service calls | Open Feign、`RestTemplate` | Spring Cloud 服务调用 + Dubbo `@Reference`
| 链路跟踪Tracing | Spring Cloud Sleuth[10] + Zipkin[11] | Zipkin、opentracing 等
|====
|===
=== Reference 说明

@ -412,10 +412,8 @@ Endpoint 暴露的 json 中包含了三种属性:
更多关于 Nacos Config Starter 的配置项如下所示:
:frame: topbot
[width="60%",options="header"]
|====
^|配置项 ^|Key ^|默认值 ^|说明
|===
|配置项 |Key |默认值 |说明
|服务端地址|`spring.cloud.nacos.config.server-addr`|| Nacos Server 启动监听的ip地址和端口
|配置对应的 DataId|`spring.cloud.nacos.config.name`|| 先取 prefix再去 name最后取 spring.application.name
|配置对应的 DataId|`spring.cloud.nacos.config.prefix`|| 先取 prefix再去 name最后取 spring.application.name
@ -432,4 +430,4 @@ Endpoint 暴露的 json 中包含了三种属性:
|共享配置|`spring.cloud.nacos.config.sharedDataids`||共享配置的 DataId, "," 分割
|共享配置动态刷新|`spring.cloud.nacos.config.refreshableDataids`||共享配置中需要动态刷新的 DataId, "," 分割
|自定义 Data Id 配置|`spring.cloud.nacos.config.extConfig`||属性是个集合,内部由 `Config` POJO 组成。`Config` 有 3 个属性,分别是 `dataId`, `group` 以及 `refresh`
|====
|===

@ -42,6 +42,8 @@ image::https://img.alicdn.com/tfs/TB1dyWJbQL0gK0jSZFtXXXQCXXa-2788-1086.png[]
以下步骤向您展示了如何将一个服务注册到 Nacos。
* pom.xml的配置。一个完整的 pom.xml 配置如下所示:
.pom.xml
[source,xml,indent=0]
----
<?xml version="1.0" encoding="UTF-8"?>
@ -115,7 +117,8 @@ image::https://img.alicdn.com/tfs/TB1dyWJbQL0gK0jSZFtXXXQCXXa-2788-1086.png[]
----
* application.properties 配置。一些关于 Nacos 基本的配置也必须在 application.properties(也可以是application.yaml)配置,如下所示:
application.properties
.application.properties
[source,properties,indent=0]
----
server.port=8081
@ -128,6 +131,7 @@ management.endpoints.web.exposure.include=*
NOTE: 如果不想使用 Nacos 作为您的服务注册与发现,可以将 `spring.cloud.nacos.discovery` 设置为 `false`。
* 启动 Provider 示例。如下所示:
[source,java,indent=0]
----
@SpringBootApplication
@ -291,10 +295,8 @@ Endpoint 暴露的 json 中包含了两种属性:
更多关于 Nacos Discovery Starter 的配置项如下所示:
:frame: topbot
[width="60%",options="header"]
|====
^|配置项 ^|Key ^|默认值 ^|说明
|===
|配置项 |Key |默认值 |说明
|服务端地址|`spring.cloud.nacos.discovery.server-addr`|| Nacos Server 启动监听的ip地址和端口
|服务名|`spring.cloud.nacos.discovery.service`|`${spring.application.name}`|注册的服务名
|权重|`spring.cloud.nacos.discovery.weight`|`1`|取值范围 1 到 100数值越大权重越大
@ -310,5 +312,5 @@ Endpoint 暴露的 json 中包含了两种属性:
|接入点|`spring.cloud.nacos.discovery.endpoint`||地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址
|是否集成Ribbon|`ribbon.nacos.enabled`|`true`|一般都设置成true即可
|是否开启Nacos Watch|`spring.cloud.nacos.discovery.watch.enabled`|`true`|可以设置成false来关闭 watch
|====
|===

@ -109,6 +109,7 @@ java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject
==== 配置控制台信息
.application.yml
[source,yaml]
----
spring:
cloud:
@ -211,7 +212,8 @@ NOTE: 以 `https://www.taobao.com/test` 这个 url 并使用 GET 方法为例。
比如配置 4 个数据源:
```
[source,properties]
----
spring.cloud.sentinel.datasource.ds1.file.file=classpath: degraderule.json
spring.cloud.sentinel.datasource.ds1.file.rule-type=flow
@ -234,8 +236,7 @@ spring.cloud.sentinel.datasource.ds4.apollo.namespace-name = application
spring.cloud.sentinel.datasource.ds4.apollo.flow-rules-key = sentinel
spring.cloud.sentinel.datasource.ds4.apollo.default-flow-rule-value = test
spring.cloud.sentinel.datasource.ds4.apollo.rule-type=param-flow
```
----
这种配置方式参考了 Spring Cloud Stream Binder 的配置,内部使用了 `TreeMap` 进行存储comparator 为 `String.CASE_INSENSITIVE_ORDER` 。
@ -407,22 +408,18 @@ Endpoint 暴露的 json 中包含了多种属性:
下表显示当应用的 `ApplicationContext` 中存在对应的Bean的类型时会进行自动化设置
:frame: topbot
[width="60%",options="header"]
|====
^|存在Bean的类型 ^|操作 ^|作用
|===
|存在Bean的类型 |操作 |作用
|`UrlCleaner`|`WebCallbackManager.setUrlCleaner(urlCleaner)`|资源清理(资源(比如将满足 /foo/:id 的 URL 都归到 /foo/* 资源下))
|`UrlBlockHandler`|`WebCallbackManager.setUrlBlockHandler(urlBlockHandler)`|自定义限流处理逻辑
|`RequestOriginParser`|`WebCallbackManager.setRequestOriginParser(requestOriginParser)`|设置来源信息
|====
|===
Spring Cloud Alibaba Sentinel 提供了这些配置选项
:frame: topbot
[width="60%",options="header"]
|====
^|配置项 ^|含义 ^|默认值
|===
|配置项 |含义 |默认值
|`spring.application.name` or `project.name`|Sentinel项目名|
|`spring.cloud.sentinel.enabled`|Sentinel自动化配置是否生效|true
|`spring.cloud.sentinel.eager`|是否提前触发 Sentinel 初始化|false
@ -449,6 +446,6 @@ Spring Cloud Alibaba Sentinel 提供了这些配置选项
|`spring.cloud.sentinel.scg.fallback.response-body`| Spring Cloud Gateway 响应模式为 'response' 模式对应的响应内容 |
|`spring.cloud.sentinel.scg.fallback.response-status`| Spring Cloud Gateway 响应模式为 'response' 模式对应的响应码 | 429
|`spring.cloud.sentinel.scg.fallback.content-type`| Spring Cloud Gateway 响应模式为 'response' 模式对应的 content-type | application/json
|====
|===
NOTE: 请注意。这些配置只有在 Servlet 环境下才会生效RestTemplate 和 Feign 针对这些配置都无法生效

@ -186,6 +186,7 @@ public QuerySendDetailsResponse querySendDetailsResponse(
1、在 `application.properties` 配置文件中(也可以是 application.yaml)配置 SmsReport 的队列名称。
.application.properties
[source,properties]
----
spring.cloud.alicloud.sms.report-queue-name=Alicom-Queue-********-SmsReport
----

@ -10,17 +10,15 @@ Easily navigate and move apps up at a cost close to “zero” costs. Dubbo Spri
Since Dubbo Spring Cloud is built on top of the native Spring Cloud, its service governance capabilities are considered Spring Cloud Plus.
Not only does it fully cover the Spring Cloud native features [5], but it also provides a more stable and mature implementation, as shown in the following table:
:frame: topbot
[width="60%",options="header"]
|====
^|Feature ^|Spring Cloud ^|Dubbo Spring Cloud
|===
|Feature |Spring Cloud |Dubbo Spring Cloud
| Distributed configuration | Git、Zookeeper、Consul、JDBC | Spring Cloud Distributed Configuration + Dubbo Configuration Center[6]
| Service registration and discovery | Eureka、Zookeeper、Consul | Spring Cloud Native Registration Center[7] + Dubbo Native Registration Center[8]
| Load balancing | RibbonRandom, RoundRobin | Dubbo built-in implementation (random, polling, etc. + weights, etc.)
| Circuit Breakers | Spring Cloud Hystrix | Spring Cloud Hystrix + Alibaba Sentinel[9] etc.
| Service-to-service calls | Open Feign、`RestTemplate` | Spring Cloud service call + Dubbo `@Reference`.
| Tracing | Spring Cloud Sleuth[10] + Zipkin[11] | Zipkin、opentracing, etc.
|====
|===
=== Reference

@ -401,10 +401,8 @@ set spring.cloud.nacos.config.enabled = false to disable Spring Cloud Nacos Conf
The following shows the other configurations of the starter of Nacos Config:
:frame: topbot
[width="60%",options="header"]
|====
^|Configuration ^|Key ^|Default Value ^|Description
|===
|Configuration |Key |Default Value |Description
|Server address|`spring.cloud.nacos.config.server-addr`|| IP and port of the Nacos Server listener
|Dataid from nacos config|`spring.cloud.nacos.config.name`|| First take the prefix, then go to the name, and finally take spring.application.name
|Dataid from nacos config|`spring.cloud.nacos.config.prefix`|| First take the prefix, then go to the name, and finally take spring.application.name
@ -421,4 +419,4 @@ The following shows the other configurations of the starter of Nacos Config:
|Dataid for Shared Configuration|`spring.cloud.nacos.config.sharedDataids`||Dataid for Shared Configuration, split by ","
|Dynamic refresh dataid for Shared Configuration|`spring.cloud.nacos.config.refreshableDataids`||Dynamic refresh dataid for Shared Configuration, split by ","
|custom dataid|`spring.cloud.nacos.config.extConfig`||It's a Listbuild up by `Config` POJO. `Config` has 3 attributes, `dataId`, `group` and `refresh`
|====
|===

@ -42,9 +42,11 @@ For more Nacos Server versions, you can download the latest version from https:/
The following sample illustrates how to register a service to Nacos.
* Configuration of pom.xml The following is a complete example of pom.xml:
[source, xml]
.pom.xml
[source,xml]
----
<?xml version="1.0" encoding="UTF-8"? >
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@ -115,7 +117,8 @@ The following sample illustrates how to register a service to Nacos.
----
* Configuration of application.properties Some of the basic configurations of Nacos must be included in application.properties(or application.yaml), as shown below
application.properties
.application.properties
[source,properties]
----
server.port=8081
@ -128,6 +131,7 @@ management.endpoints.web.exposure.include=*
NOTE: If you do not want to use Nacos for service registration and discovery, you can set `spring.cloud.nacos.discovery` to `false`.
* The following is a sample for starting Provider:
[source,java,indent=0]
----
@SpringBootApplication
@ -294,10 +298,8 @@ The followings shows how a service instance accesses the Endpoint:
The following shows the other configurations of the starter of Nacos Discovery:
:frame: topbot
[width="60%",options="header"]
|====
^|Configuration ^|Key ^|Default Value ^|Description
|===
|Configuration |Key |Default Value |Description
|Server address|`spring.cloud.nacos.discovery.server-addr`||IP and port of the Nacos Server listener
|Service name|`spring.cloud.nacos.discovery.service`|`${spring.application.name}`|Name the current service
|Weight|`spring.cloud.nacos.discovery.weight`|`1`|Value range: 1 to 100. The bigger the value, the greater the weight
@ -313,5 +315,5 @@ The following shows the other configurations of the starter of Nacos Discovery:
|Endpoint|`spring.cloud.nacos.discovery.endpoint`||The domain name of a certain service in a specific region. You can retrieve the server address dynamically with this domain name
|Integrate Ribbon or not|`ribbon.nacos.enabled`|`true`|Set to true in most cases
|Enable Nacos Watch|`spring.cloud.nacos.discovery.watch.enabled`|`true`|set to false to close watch
|====
|===

@ -110,6 +110,7 @@ If there is conflict with the 8080 port, you can use `-Dserver.port=new port` to
==== Configure the Dashboard
.application.yml
[source,yaml]
----
spring:
cloud:
@ -214,7 +215,8 @@ NOTE: Take Http GET `https://www.taobao.com/test` as an example. The correspondi
For example, 4 data sources are configures
```
[source,properties]
----
spring.cloud.sentinel.datasource.ds1.file.file=classpath: degraderule.json
spring.cloud.sentinel.datasource.ds1.file.rule-type=flow
@ -237,7 +239,7 @@ spring.cloud.sentinel.datasource.ds4.apollo.namespace-name = application
spring.cloud.sentinel.datasource.ds4.apollo.flow-rules-key = sentinel
spring.cloud.sentinel.datasource.ds4.apollo.default-flow-rule-value = test
spring.cloud.sentinel.datasource.ds4.apollo.rule-type=param-flow
```
----
This method follows the configuration of Spring Cloud Stream Binder. `TreeMap` is used for storage internally, and comparator is `String.CASE_INSENSITIVE_ORDER`.
@ -406,21 +408,17 @@ The followings shows how a service instance accesses the Endpoint:
The following table shows that when there are corresponding bean types in `ApplicationContext`, some actions will be taken:
:frame: topbot
[width="60%",options="header"]
|====
^|Existing Bean Type ^|Action ^|Function
|===
|Existing Bean Type |Action |Function
|`UrlCleaner`|`WebCallbackManager.setUrlCleaner(urlCleaner)`|Resource cleaning(resource(for example, classify all URLs of /foo/:id to the /foo/* resource))
|`UrlBlockHandler`|`WebCallbackManager.setUrlBlockHandler(urlBlockHandler)`|Customize rate limiting logic
|`RequestOriginParser`|`WebCallbackManager.setRequestOriginParser(requestOriginParser)`|Setting the origin
|====
|===
The following table shows all the configurations of Spring Cloud Alibaba Sentinel:
:frame: topbot
[width="60%",options="header"]
|====
^|Configuration ^|Description ^|Default Value
|===
|Configuration |Description |Default Value
|`spring.application.name` or `project.name`|Project Name Of Sentinel|
|`spring.cloud.sentinel.enabled`|Whether Sentinel automatic configuration takes effect|true
|`spring.cloud.sentinel.eager`|Whether to trigger Sentinel initialization in advance|false
@ -446,7 +444,7 @@ The following table shows all the configurations of Spring Cloud Alibaba Sentine
|`spring.cloud.sentinel.scg.fallback.response-body`| Spring Cloud Gateway response mode is response content corresponding to 'response' mode |
|`spring.cloud.sentinel.scg.fallback.response-status`| Spring Cloud Gateway response mode is the response code corresponding to 'response' mode | 429
|`spring.cloud.sentinel.scg.fallback.content-type`| The Spring Cloud Gateway response mode is the content-type corresponding to the 'response' mode. | application/json
|====
|===
NOTE: These configurations will only take effect in servlet environment. RestTemplate and Feign will not take effect for these configurations.

@ -185,6 +185,7 @@ By subscribing to the SmsUp upstream SMS message, you can know the content of th
1、Configure the queue name for SmsReport in the `application.properties` configuration file (which can also be application.yaml).
.application.properties
[source,properties]
----
spring.cloud.alicloud.sms.up-queue-name=Alicom-Queue-********-SmsUp
----

Loading…
Cancel
Save