mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
update docs
This commit is contained in:
parent
576de3a218
commit
fe74824d3d
@ -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,7 +42,9 @@ image::https://img.alicdn.com/tfs/TB1dyWJbQL0gK0jSZFtXXXQCXXa-2788-1086.png[]
|
||||
以下步骤向您展示了如何将一个服务注册到 Nacos。
|
||||
|
||||
* pom.xml的配置。一个完整的 pom.xml 配置如下所示:
|
||||
[source,xml,indent=0]
|
||||
|
||||
.pom.xml
|
||||
[source,xml]
|
||||
----
|
||||
<?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"
|
||||
@ -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
|
||||
|====
|
||||
|===
|
||||
|
||||
|
@ -16,6 +16,7 @@ https://github.com/alibaba/Sentinel[Sentinel] 具有以下特征:
|
||||
如果要在您的项目中引入 Sentinel,使用 group ID 为 `com.alibaba.cloud` 和 artifact ID 为 `spring-cloud-starter-alibaba-sentinel` 的 starter。
|
||||
|
||||
```xml
|
||||
[source,yaml]
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
|
||||
@ -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 | Ribbon(Random, 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 List,build up by `Config` POJO. `Config` has 3 attributes, `dataId`, `group` and `refresh`
|
||||
|====
|
||||
|===
|
||||
|
@ -41,10 +41,12 @@ 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]
|
||||
* Configuration of pom.xml The following is a complete example of pom.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`.
|
||||
|
||||
@ -408,21 +410,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
|
||||
@ -448,7 +446,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…
x
Reference in New Issue
Block a user