From 005146020660f4124067a2c259927951739db07c Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 10:52:18 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Nacos=20Discovery=20?= =?UTF-8?q?=E5=88=B0=20Reference=20=E7=9B=AE=E5=BD=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-zh.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++---- README.md | 48 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 101 insertions(+), 5 deletions(-) diff --git a/README-zh.md b/README-zh.md index c6afae181..27d5895ef 100644 --- a/README-zh.md +++ b/README-zh.md @@ -1,13 +1,13 @@ # Spring Cloud Alibaba -Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 +Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 -依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 +依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 ## 主要功能 -* **服务限流降级**:默认支持为 HTTP 服务的提供限流保护,也支持添加注解实现方法的自定义限流降级,且支持动态修改限流降级规则。 +* **服务限流降级**:默认支持 Servlet、RestTemplate、Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。 * **服务注册与发现**:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。 * **分布式配置管理**:支持分布式系统中的外部化配置,配置更改时自动刷新。 * **阿里云对象存储**:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。 @@ -38,6 +38,52 @@ Spring Cloud 使用 Maven 来构建,最快的使用方式是将本项目clone ## 如何使用 +### 如何引入依赖 +项目已经发布了第一个版本,版本 0.2.0.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.0.RELEASE 对应的是 Spring Boot 1.x 版本。 + +如果需要使用已发布的版本,在 `dependencyManagement` 中添加如下配置。 + + + + + org.springframework.cloud + spring-cloud-alibaba-dependencies + 0.2.0.RELEASE + pom + import + + + + +然后再 `dependencies` 中添加自己所需使用的依赖即可使用。 + +如果您想体验最新的 BUILD-SNAPSHOT 的新功能,则可以将版本换成最新的版本,但是需要在 pom.xml 中配置 Spring BUILDSNAPSHOT 仓库,**注意: SNAPSHOT 版本随时可能更新** + + + + spring-snapshot + Spring Snapshot Repository + https://repo.spring.io/snapshot + + true + + + + + +### Reference Doc + +[目录](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/spring-cloud-alibaba.adoc) + +[Nacos Config](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc) + +[Nacos Discovery](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-discovery.adoc) + +[ACM](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/acm.adoc) + + +## 演示 Demo + 为了演示如何使用,Spring Cloud Alibaba 项目包含了一个子模块`spring-cloud-alibaba-examples`。此模块中提供了演示用的 example ,您可以阅读对应的 example 工程下的 readme 文档,根据里面的步骤来体验。 Example 列表: @@ -50,6 +96,10 @@ Example 列表: [AliCloud OSS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/oss-example/readme-zh.md) +[AliCloud ANS Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/ans-example/ans-provider-example/readme-zh.md) + +[AliCloud ACM Example](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/acm-example/acm-local-example/readme-zh.md) + ## 版本管理规范 项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从0开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用0,即版本号为 0.x.x 的格式。 @@ -70,4 +120,4 @@ spring-cloud-alibaba@googlegroups.com,欢迎通过此邮件列表讨论与 spr ### 钉钉群 -![DingQR](https://cdn.nlark.com/lark/0/2018/png/64647/1535108150178-409a1689-437f-495b-8dcb-b667ccb32f85.png) +![DingQR](https://cdn.nlark.com/lark/0/2018/png/64647/1535108150178-409a1689-437f-495b-8dcb-b667ccb32f85.png) \ No newline at end of file diff --git a/README.md b/README.md index c69092a13..e81d27e84 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,53 @@ Spring Cloud uses Maven for most build-related activities, and you should be abl ./mvnw install -## How to use +## How to Use + +### Add maven dependency +Version 0.2.0.RELEASE is compatible with the Spring Boot 2.0.x line. Version 0.1.0.RELEASE is compatible with the Spring Boot 1.x line. + +These artifacts are available from Maven Central and Spring Release repository via BOM: + + + + + org.springframework.cloud + spring-cloud-alibaba-dependencies + 0.2.0.RELEASE + pom + import + + + + +add the module in `dependencies`. + +If you want to use the latest BUILD-SNAPSHOT version, add `Spring Snapshot Repository` in pom.xml , **Attention: BUILD-SNAPSHOT may be updated in any time** + + + + spring-snapshot + Spring Snapshot Repository + https://repo.spring.io/snapshot + + true + + + + + +### Reference Doc + +[Contents](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/spring-cloud-alibaba.adoc) + +[Nacos Config](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc) + +[Nacos Discovery](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-discovery.adoc) + +[ACM](https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/acm.adoc) + + +## Examples A `spring-cloud-alibaba-examples` module is included in our project for you to get started with Spring Cloud Alibaba quickly. It contains an example, and you can refer to the readme file in the example project for a quick walkthrough. From 698ee5a7c6a11c30feae11059d36a6e6dbea1da0 Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 16:29:36 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E7=9A=84=E6=96=B9=E5=BC=8F=E6=9D=A5=E9=85=8D=E7=BD=AENacos?= =?UTF-8?q?=E7=9A=84=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加说明通过域名的方式来配置Nacos的地址时需要注意的地方。 --- .../src/main/asciidoc-zh/nacos-config.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc index b3f9fb5bd..c933352cd 100644 --- a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc +++ b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc @@ -117,10 +117,12 @@ spring-cloud-starter-alibaba-nacos-config 默认对文件扩展名为properties [source,properties] ---- spring.application.name=nacos-config -spring.cloud.nacos.config.server-addr=127.0.0.1:8848 +spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.file-extension=yaml #显示的声明使用的文件扩展名 ---- +NOTE: 如果 spring.cloud.nacos.config.server-addr 使用的是域名,请写上域名以及监听的端口号,即使是默认的80也需要填上,因为当只配上了域名时会自动填上Nacos的默认端口8848。 + 2、在Nacos的控制台新增一个dataid为yaml为扩展名的配置,如下所示: [source,subs="normal"] From 1dfef15dee488db56df55c0ef068875e2362bce2 Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 16:33:49 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E9=85=8D=E7=BD=AENacos=E6=9C=8D=E5=8A=A1=E7=AB=AF=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加说明 使用域名配置Nacos服务端地址 --- .../src/main/asciidoc-zh/nacos-config.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc index c933352cd..e6c31e552 100644 --- a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc +++ b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc @@ -121,7 +121,7 @@ spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.file-extension=yaml #显示的声明使用的文件扩展名 ---- -NOTE: 如果 spring.cloud.nacos.config.server-addr 使用的是域名,请写上域名以及监听的端口号,即使是默认的80也需要填上,因为当只配上了域名时会自动填上Nacos的默认端口8848。 +NOTE: 如果 spring.cloud.nacos.config.server-addr 使用的是域名,请写上域名以及监听的端口号,`请切记不用带上http:// 前缀以及 /nacos的后缀`,即使是默认的80也需要填上,因为当只配上了域名时会自动填上Nacos的默认端口8848。例如当你的域名是abc.com.nacos 时,监听的端口号是80,那么`spring.cloud.nacos.config.server-addr` 的配置是 `abc.com.nacos:80`。 2、在Nacos的控制台新增一个dataid为yaml为扩展名的配置,如下所示: From 1776055480acbc2b5d48879dedf8707a103ef207 Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 16:50:38 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9Nacos=20Config=20?= =?UTF-8?q?=E7=9A=84=20Reference=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/asciidoc-zh/nacos-config.adoc | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc index b3f9fb5bd..6ac10942d 100644 --- a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc +++ b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc @@ -93,12 +93,17 @@ public class ProviderApplication { spring-cloud-starter-alibaba-nacos-config 对于Nacos服务端的基础配置没有默认值,因此在运行此Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server地址,例如: +.bootstrap.properties [source,properties] ---- spring.application.name=nacos-config #注意,spring.application.name 必须要放在bootstrap.properties中 spring.cloud.nacos.config.server-addr=127.0.0.1:8848 ---- +NOTE: 注意当你使用域名的方式来访问 Nacos 时,`spring.cloud.nacos.config.server-addr` 配置的方式为 `域名:port`。 +例如 Nacos 的域名为abc.com.nacos,监听的端口为 80,则 `spring.cloud.nacos.config.server-addr=abc.com.nacos:80`。 +注意 80 端口不能省略。 + 启动这个Example,可以在控制台看到打印出的值正是在Nacos上预先配置好的值。 [source,subs="normal"] @@ -113,15 +118,17 @@ user name :nacos-config-properties; age: 90 spring-cloud-starter-alibaba-nacos-config 默认对文件扩展名为properties的支持,如果习惯使用yaml格式来作为应用中的基础配置,也是可以支持的。这个时候只需要完成以下两步: -1、在bootstrap.properties配置文件中显示的来声明使用的文件扩展名。如下所示 -[source,properties] +1、在bootstrap.yaml。如下所示 + +.bootstrap.yaml +[source,yaml] ---- -spring.application.name=nacos-config -spring.cloud.nacos.config.server-addr=127.0.0.1:8848 -spring.cloud.nacos.config.file-extension=yaml #显示的声明使用的文件扩展名 +spring.application.name: nacos-config +spring.cloud.nacos.config.server-addr: 127.0.0.1:8848 +spring.cloud.nacos.config.file-extension: yaml #显示的声明使用的文件扩展名 ---- -2、在Nacos的控制台新增一个dataid为yaml为扩展名的配置,如下所示: +2、在 Nacos 的控制台新增一个dataid为yaml为扩展名的配置,如下所示: [source,subs="normal"] ---- From e70ddab7178a952fe99319e6105bfad008156462 Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 17:04:23 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9Nacos=20Config=20?= =?UTF-8?q?=E7=9A=84=20Reference=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/asciidoc-zh/nacos-config.adoc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc index 6ac10942d..35ed14544 100644 --- a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc +++ b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc @@ -2,13 +2,13 @@ == 快速开始 -=== 基于properties的文件扩展名的配置方式 +=== 基于 dataid 为 properties 的文件扩展名配置方式 ==== Nacos 服务端初始化 1、启动Nacos Server。启动方式可见 https://nacos.io/zh-cn/docs/quick-start.html[Nacos 官网] -2、启动好Nacos之后,在Nacos添加如下的配置。注意data id是以 properties为扩展名,默认的文件扩展名方式。如下所示: +2、启动好Nacos之后,在Nacos添加如下的配置。注意dataid是以 properties为扩展名,默认的文件扩展名方式。如下所示: [source,subs="normal"] ---- @@ -91,7 +91,7 @@ public class ProviderApplication { } ---- -spring-cloud-starter-alibaba-nacos-config 对于Nacos服务端的基础配置没有默认值,因此在运行此Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server地址,例如: +spring-cloud-starter-alibaba-nacos-config 对于 Nacos 服务端的基础配置没有默认值,因此在运行此Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server地址,例如: .bootstrap.properties [source,properties] @@ -114,18 +114,17 @@ user name :nacos-config-properties; age: 90 2018-11 ---- -=== 基于yaml的文件扩展名的配置方式 +=== 基于 dataid 为 yaml 的文件扩展名配置方式 -spring-cloud-starter-alibaba-nacos-config 默认对文件扩展名为properties的支持,如果习惯使用yaml格式来作为应用中的基础配置,也是可以支持的。这个时候只需要完成以下两步: +spring-cloud-starter-alibaba-nacos-config 默认对 dateid 的文件扩展名是 properties。如果习惯使用yaml格式来作为应用中的基础配置,也是可以支持的。 +这个时候只需要完成以下两步: -1、在bootstrap.yaml。如下所示 +1、在应用的 bootstrap.properties 配置文件中显示的声明 dataid 文件扩展名。如下所示 .bootstrap.yaml [source,yaml] ---- -spring.application.name: nacos-config -spring.cloud.nacos.config.server-addr: 127.0.0.1:8848 -spring.cloud.nacos.config.file-extension: yaml #显示的声明使用的文件扩展名 +spring.cloud.nacos.config.file-extension=yaml ---- 2、在 Nacos 的控制台新增一个dataid为yaml为扩展名的配置,如下所示: From 118b546d7bd43f5d3a51c4730ee24b912911442b Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 17:06:30 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9Nacos=20Config=20?= =?UTF-8?q?=E7=9A=84=20Reference=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/asciidoc-zh/nacos-config.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc index 35ed14544..684f3f825 100644 --- a/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc +++ b/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc @@ -121,7 +121,7 @@ spring-cloud-starter-alibaba-nacos-config 默认对 dateid 的文件扩展名是 1、在应用的 bootstrap.properties 配置文件中显示的声明 dataid 文件扩展名。如下所示 -.bootstrap.yaml +.bootstrap.properties [source,yaml] ---- spring.cloud.nacos.config.file-extension=yaml From cf1abefd200b4d05cfd6d9c53db1232982c46098 Mon Sep 17 00:00:00 2001 From: pbting <314226532@qq.com> Date: Thu, 15 Nov 2018 17:09:27 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9Nacos=20=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=E7=9A=84=E4=BE=9D=E8=B5=96=E7=9A=84=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring-cloud-alibaba-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 33b5ad6af..7a1f5c56e 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -18,7 +18,7 @@ 1.3.0-GA 3.1.0 - 0.3.0 + 0.4.0 1.0.8 0.1.1 4.0.1