Doc: update integrated-example doc (#3309)

pull/3253/merge
YuLuo 2 years ago committed by GitHub
parent 2b486c2f77
commit ccbdfe60d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -62,13 +62,6 @@ Enter `spring-cloud-alibaba-examples/integration-example` directory, Run the fol
## Experience Demo
After the preparation work is done, you can run the demo, mainly according to different usage scenarios, you can experience the user order (distributed transaction capability) and simulate the high traffic point (meltdown and limit the flow as well as the ability to cut the peak and fill the valley) respectively.
First, you need to start the `integrated-frontend` and `integrated-gateway` projects separately.
- The gateway module is the gateway for the entire best practice example.
- frontend is the simple front-end page for the best practice.
### Distributed Transaction Capabilities
#### Scenario Description
@ -79,9 +72,7 @@ For the distributed transaction capability, we provide the scenario **where a us
- Deduct the account balance
- Generate order information to return a response
##### Start test
Start `integrated-storage`,`integrated-account`,`integrated-order` microservices respectively.
#### Start test
Visit `http://integrated-frontend:8080/order` to experience the corresponding scenario.
@ -116,9 +107,7 @@ For service fusion limiting and peak and valley cutting in the context of high t
- Sentinel binds specified gateway routes on the gateway side for fusion degradation of services.
- RocketMQ performs traffic clipping, where the producer sends messages to RocketMQ under high traffic requests, while the consumer pulls and consumes through a configurable consumption rate, reducing the pressure of high traffic direct requests to the database to increase the number of likes requests.
#### Startup test
Start the `integrated-praise-provider` and `integrated-praise-consumer` modules separately.
#### Start test
- Sentinel service meltdown degradation

@ -63,13 +63,6 @@ docker-compose-env.yml文件运行成功之后添加Nacos配置
## 体验Demo
准备工作完成后可以运行 demo 示例,主要根据不同的使用场景,可以分别体验用户下单(分布式事务能力)以及模拟高流量点赞(熔断限流以及削峰填谷的能力)。
首先需要分别启动`integrated-frontend`以及`integrated-gateway`微服务应用。
- `integrated-gateway` 模块是整个最佳实践示例的网关。
- `integrated-frontend` 为最佳实践示例的简易前端页面。
### 分布式事务能力
#### 场景说明
@ -80,9 +73,7 @@ docker-compose-env.yml文件运行成功之后添加Nacos配置
- 扣减账户余额
- 生成订单信息返回响应
##### 启动测试
分别启动`integrated-storage`,`integrated-account`,`integrated-order`三个微服务应用。
#### 启动测试
访问 `http://integrated-frontend:8080/order` 来体验对应场景。
@ -98,11 +89,11 @@ docker-compose-env.yml文件运行成功之后添加Nacos配置
而在前面的准备工作中,**初始化业务数据库表**的时候应用新建了一个用户用户userId 为 admin余额为 3 元;同时新建了一个编号为 1 号的商品,库存为 100 件。
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数(100-1=99),扣减 admin 用户的余额(3-2=1)
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数100-1=99扣减 admin 用户的余额3-2=1
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016155429801.png)
如果再次请求相同的接口,同样是先扣减库存(99-1=98),但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
如果再次请求相同的接口,同样是先扣减库存99-1=98,但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016155436112.png)
@ -119,8 +110,6 @@ docker-compose-env.yml文件运行成功之后添加Nacos配置
#### 启动测试
分别启动`integrated-praise-provider`以及`integrated-praise-consumer`模块。
- Sentinel 服务熔断降级
访问 `http://integrated-frontend:8080/sentinel` 体验对应场景。
@ -129,7 +118,7 @@ docker-compose-env.yml文件运行成功之后添加Nacos配置
网关路由点赞服务的限流规则为 5而在前端通过异步处理模拟了 10 次并发请求。
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新(+5)
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新+5
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20220914155755103.png)

@ -66,11 +66,11 @@ helm uninstall integrated-example
而在 `integrated-mysql` 容器的初始化时,**初始化业务数据库表**的时候新建了一个用户用户的userId为admin余额为 3 元;同时新建了一个编号为 1 号的商品,库存为 100 件。
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数(100-1=99),扣减 admin 用户的余额(3-2=1)
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数100-1=99扣减 admin 用户的余额3-2=1
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016143057730.png)
如果再次请求相同的接口,同样是先扣减库存(99-1=98),但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
如果再次请求相同的接口,同样是先扣减库存99-1=98,但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016143104810.png)
@ -95,7 +95,7 @@ helm uninstall integrated-example
网关路由点赞服务的限流规则为 5而在前端通过异步处理模拟了 10 次并发请求。
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新(+5)
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新+5
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016143203773.png)

@ -63,7 +63,7 @@ bash bin/startup.sh -m standalone
#### 新增配置文件
在批量导入配置之前,请先修改`spring-cloud-alibaba-examples/integrated-example/config-init/config/datasource-config.yaml` 中的数据源配置**(用户名和密码)**。
在批量导入配置之前,请先修改 `spring-cloud-alibaba-examples/integrated-example/config-init/config/datasource-config.yaml` 中的数据源配置**(用户名和密码)**。
之后运行 `spring-cloud-alibaba-examples/integrated-example/config-init/scripts/nacos-config-quick.sh` 来完成所有微服务配置的一键导入。
@ -116,7 +116,7 @@ sh bin/mqbroker
## 运行 Demo 示例
准备工作完成后可以运行 demo 示例,主要根据不同的使用场景,可以分别体验用户下单(分布式事务能力)以及模拟高流量点赞(熔断限流以及削峰填谷的能力)
准备工作完成后可以运行 demo 示例,主要根据不同的使用场景,可以分别体验用户下单(分布式事务能力)以及模拟高流量点赞(熔断限流以及削峰填谷的能力)
首先需要分别启动 `integrated-frontend` 以及 `integrated-gateway` 微服务应用。
@ -135,7 +135,7 @@ sh bin/mqbroker
##### 启动测试
分别启动`integrated-storage`,`integrated-account`,`integrated-order`三个微服务应用。
分别启动 `integrated-storage``integrated-account``integrated-order` 三个微服务应用。
访问 `http://integrated-frontend:8080/order` 来体验对应场景。
@ -151,11 +151,11 @@ sh bin/mqbroker
而在前面的准备工作中,**初始化业务数据库表**的时候应用新建了一个用户用户userId 为 admin余额为 3 元;同时新建了一个编号为 1 号的商品,库存为 100 件。
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数(100-1=99),扣减 admin 用户的余额(3-2=1)
因此通过上述的操作,应用会创建一个订单,扣减对应商品编号为 1 号的库存个数100-1=99扣减 admin 用户的余额3-2=1
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016155429801.png)
如果再次请求相同的接口,同样是先扣减库存(99-1=98),但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
如果再次请求相同的接口,同样是先扣减库存99-1=98,但是会因为 admin 用户余额不足而抛出异常,并被 Seata 捕获,执行分布式事务二阶段提交,回滚事务。
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20221016155436112.png)
@ -182,7 +182,7 @@ sh bin/mqbroker
网关路由点赞服务的限流规则为 5而在前端通过异步处理模拟了 10 次并发请求。
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新(+5)
因此可以看到 Sentinel 在 Gateway 侧针对多出的流量进行了服务熔断返回 fallback 给客户端,同时数据库的点赞数进行了更新+5
![](https://my-img-1.oss-cn-hangzhou.aliyuncs.com/image-20220914155755103.png)

@ -28,7 +28,7 @@
- 生成订单信息返回响应
2)用户为商品进行点赞(模拟MQ的生产者消费者应用场景)返回商品点赞后的详细信息(点赞数等)。
2) 用户为商品进行点赞模拟MQ的生产者消费者应用场景返回商品点赞后的详细信息(点赞数等)。
### 组件详细说明
@ -37,8 +37,10 @@
2) 用户为商品进行点赞的场景,模拟大流量环境下通过 Sentinel 进行限流或是 RocketMQ 进行削峰填谷。在此场景下SCA社区提供了两种应对大流量的处理方式
- Sentinel 在网关侧绑定指定网关路由进行服务的熔断降级。
- RocketMQ 进行流量削峰填谷,在大流量请求下,生产者向 RocketMQ 发送消息,而消费者则通过可配置的消费速率进行拉取消费,减少大流量直接请求数据库增加点赞请求的压力。
#### SpringCloud Gateway
微服务模块的网关。

Loading…
Cancel
Save