From c44c77980a7b9bc7c4640ec55a2e3048365419cd Mon Sep 17 00:00:00 2001 From: MageekChiu Date: Wed, 6 Jul 2022 10:59:10 +0800 Subject: [PATCH 1/4] chore(doc): user registration --- README.md | 5 ++++- docs/cn/README_CN.md | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 30870bc..67aaab9 100644 --- a/README.md +++ b/README.md @@ -77,5 +77,8 @@ details see [here](docs/en/contributing/contributing.md) ## Connect - DingTalk Group:34222602 -- we need your ideas for a better AppActive https://www.wjx.cn/vj/P9FB5QR.aspx +- We need your ideas for a better AppActive https://www.wjx.cn/vj/P9FB5QR.aspx +## User registration + +If you have used or intend to use AppActive in your business system, please let us know, your support is very important to us: https://github.com/alibaba/Appactive/issues/10 diff --git a/docs/cn/README_CN.md b/docs/cn/README_CN.md index 1e0fadb..4aa2ea2 100644 --- a/docs/cn/README_CN.md +++ b/docs/cn/README_CN.md @@ -68,5 +68,8 @@ AppActive 整体架构覆盖数据面和管控面,全流程管理应用流量 - 钉钉群(推荐):34222602 - 一起建设更好的 AppActive https://www.wjx.cn/vj/P9FB5QR.aspx +## 用户登记 + +如果你已经或者打算在业务系统中使用AppActive,请让我们知道,你的使用对我们很重要:https://github.com/alibaba/Appactive/issues/10 From 7f549dff64af5f86497b1470941e740bb6cd36f0 Mon Sep 17 00:00:00 2001 From: zhengkai Date: Fri, 12 Aug 2022 14:00:18 +0800 Subject: [PATCH 2/4] fix some typo in md files (#13) * fix some typo in md files * fix type issue --- docs/cn/details/architecture.md | 2 +- docs/en/details/demo.md | 4 ++-- docs/en/details/demo_nacos.md | 2 +- docs/en/details/developer_guide.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/cn/details/architecture.md b/docs/cn/details/architecture.md index 15288d7..344d847 100644 --- a/docs/cn/details/architecture.md +++ b/docs/cn/details/architecture.md @@ -36,6 +36,6 @@ AppActive 在业务模型上核心分为四部分,如上图所示: - 接入层: 入口流量请求,一般业务应用入口会有一层网关。AppActive 在这一层提供标准的流量控制插件,平滑支持应用的入口流量控制。 - 服务层: 内部应用的同步调用方式,一般为 restful 直连调用或标准微服务框架。AppActive 在这一层提供标准的微服务控制插件,适配不同微服务调用方式。 - 消息层: 内部应用的异步调用方式,一般为通用的 MQ,例如 RocketMQ、Kafka等。AppActive 在这一层提供标准的MQ控制插件,适配不同的消息形态。 -- 数据层: 应用访问数据库,数据库一般有 mysql、nosql、Oracle。AppActive 在这一层提供标准的数据库控制插件,保障数据质量,适配不同的数据库形态。 +- 数据层: 应用访问数据库,数据库一般有 MySQL、NoSQL、Oracle。AppActive 在这一层提供标准的数据库控制插件,保障数据质量,适配不同的数据库形态。 diff --git a/docs/en/details/demo.md b/docs/en/details/demo.md index e81738f..1fa1bb3 100644 --- a/docs/en/details/demo.md +++ b/docs/en/details/demo.md @@ -155,8 +155,8 @@ Visit [nginx-plugin](/appactive-gateway/nginx-plugin/Readme.md) ### Dubbo -The building process of Dubbo demo is too complicated,we suggest using demo in "quick start": -1. first of all, modify rules in frontend-center, so that frontend-center would route request to the wrong unit +The building process of Dubbo demo is too complicated,we suggest using demo in "quick start": +1. first of all, modify rules in frontend-center, so that frontend-center would route request to the wrong unit ``` cd data/frontend-center diff --git a/docs/en/details/demo_nacos.md b/docs/en/details/demo_nacos.md index c6ba8a7..9ac3c4e 100644 --- a/docs/en/details/demo_nacos.md +++ b/docs/en/details/demo_nacos.md @@ -88,7 +88,7 @@ If you want to experience demo directly, please visit [demo site](http://demo. sh baseline.sh 2 NACOS appactiveDemoNamespaceId ``` -3. Run maysql in `appactive-demo` +3. Run mysql in `appactive-demo` ``` cd dependency/mysql && sh run.sh diff --git a/docs/en/details/developer_guide.md b/docs/en/details/developer_guide.md index 64b283c..a2db6bb 100644 --- a/docs/en/details/developer_guide.md +++ b/docs/en/details/developer_guide.md @@ -160,7 +160,7 @@ The entry application is responsible for extracting the routing beacon from the The core is to add annotations `parameters = {"rsActive","unit","routeIndex","0"}` If rsActive is unit, it indicates that this is a unit service, and a routeIndex of 0 indicates that the route ID is the 0th parameter. -The candidate values ​​of rsActive are: +The candidate values of rsActive are: - normal: normal service, which requires no multi-active modification, and will route as it was - unit: unit service, which will only route within right unit according to multi-active rules From 957bc051ffa4a2cab8b5a0739c3ebb52caf7f1f0 Mon Sep 17 00:00:00 2001 From: houlong Date: Wed, 17 Aug 2022 15:11:29 +0800 Subject: [PATCH 3/4] fix(portal): fix SC2045-ShellCheck "Iterating over ls output is fragile. Use globs." --- appactive-portal/baseline.sh | 19 ++++++++++--------- appactive-portal/cut.sh | 24 +++++++++++++----------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/appactive-portal/baseline.sh b/appactive-portal/baseline.sh index cad77a7..9a29794 100755 --- a/appactive-portal/baseline.sh +++ b/appactive-portal/baseline.sh @@ -30,20 +30,21 @@ if [ `expr $type % 2` == 0 ] then if [ $channel = "FILE" ] then - for file in $(ls ../appactive-demo/data/); do + for file in ../appactive-demo/data/; do + [[ -e "$file" ]] || break if [[ "$file" == *"path-address"* ]]; then echo "continue" continue fi - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 基线推送中"; - cp -f ./rule/idSource.json "../appactive-demo/data/$file/" - cp -f ./rule/transformerBetween.json "../appactive-demo/data/$file/idTransformer.json" - cp -f ./rule/idUnitMapping.json "../appactive-demo/data/$file/" - cp -f ./rule/dbProperty.json "../appactive-demo/data/$file/mysql-product" - arr=(${file//-/ }) + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 基线推送中"; + cp -f ./rule/idSource.json "$file/" + cp -f ./rule/transformerBetween.json "$file/idTransformer.json" + cp -f ./rule/idUnitMapping.json "$file/" + cp -f ./rule/dbProperty.json "$file/mysql-product" + arr=(${${file##*/}//-/ }) unitFlag=${arr[1]} - echo "{\"unitFlag\":\"${unitFlag}\"}" > "../appactive-demo/data/$file/machine.json" - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 基线推送完成" + echo "{\"unitFlag\":\"${unitFlag}\"}" > "$file/machine.json" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 基线推送完成" done elif [ $channel = "NACOS" ] then diff --git a/appactive-portal/cut.sh b/appactive-portal/cut.sh index 219bf03..2d92477 100755 --- a/appactive-portal/cut.sh +++ b/appactive-portal/cut.sh @@ -35,14 +35,15 @@ idUnitMappingNextFile="idUnitMappingNext.json" if [ $channel = "FILE" ] then - for file in $(ls ../appactive-demo/data/); do + for file in ../appactive-demo/data/*; do + [[ -e "$file" ]] || break if [[ "$file" == *"path-address"* ]]; then echo "continue" continue fi - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 禁写规则推送中)" - cp -f ./rule/$forbiddenFile "../appactive-demo/data/$file/forbiddenRule.json" - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 禁写规则推送完成" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 禁写规则推送中)" + cp -f ./rule/$forbiddenFile "$file/forbiddenRule.json" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 禁写规则推送完成" done elif [ $channel = "NACOS" ] then @@ -74,17 +75,18 @@ echo "数据已经追平,下发新规则......" if [ $channel = "FILE" ] then - for file in $(ls ../appactive-demo/data/); do + for file in ../appactive-demo/data/*; do + [[ -e "$file" ]] || break if [[ "$file" == *"path-address"* ]]; then echo "continue" continue fi - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 新规则推送中" - cp -f ./rule/$idUnitMappingNextFile "../appactive-demo/data/$file/idUnitMapping.json" - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 新规则推送完成" - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 清除禁写规则推送中)" - cp -f ./rule/$forbiddenFileEmpty "../appactive-demo/data/$file/forbiddenRule.json" - echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file} 清除禁写规则推送完成" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 新规则推送中" + cp -f ./rule/$idUnitMappingNextFile "$file/idUnitMapping.json" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 新规则推送完成" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 清除禁写规则推送中)" + cp -f ./rule/$forbiddenFileEmpty "$file/forbiddenRule.json" + echo "$(date "+%Y-%m-%d %H:%M:%S") 应用 ${file##*/} 清除禁写规则推送完成" done elif [ $channel = "NACOS" ] then From aca4e2f61c08c7a966d9df3e763f51b61ba46cbd Mon Sep 17 00:00:00 2001 From: houlong Date: Thu, 18 Aug 2022 11:10:24 +0800 Subject: [PATCH 4/4] fix(demo): make demo shell scripts compatible with Mac and Linux --- appactive-demo/quit.sh | 6 +++++- appactive-demo/run-nacos-quick.sh | 10 +++++----- appactive-demo/run-nacos.sh | 6 +++--- appactive-demo/run-quick.sh | 10 +++++----- appactive-demo/run.sh | 8 ++++---- appactive-portal/cut.sh | 2 +- docs/cn/details/demo.md | 2 +- docs/cn/details/demo_nacos.md | 2 +- 8 files changed, 25 insertions(+), 21 deletions(-) diff --git a/appactive-demo/quit.sh b/appactive-demo/quit.sh index 43380fb..2acda01 100644 --- a/appactive-demo/quit.sh +++ b/appactive-demo/quit.sh @@ -14,4 +14,8 @@ # limitations under the License. # -docker-compose down \ No newline at end of file +if [[ -z $1 ]]; then + docker-compose down +else + docker-compose -f "$1" down +fi \ No newline at end of file diff --git a/appactive-demo/run-nacos-quick.sh b/appactive-demo/run-nacos-quick.sh index 5666201..8084d66 100644 --- a/appactive-demo/run-nacos-quick.sh +++ b/appactive-demo/run-nacos-quick.sh @@ -16,7 +16,7 @@ export appactiveNamespaceId="appactiveDemoNamespaceId" docker-compose -f docker-compose-nacos-quick.yml up -d nacos mysql -sleep 40s +sleep 40 curl -X POST 'http://127.0.0.1:8848/nacos/v1/console/namespaces' -d 'customNamespaceId=appactiveDemoNamespaceId&namespaceName=appactiveDemoNamespaceName&namespaceDesc=appactiveDemoNamespaceDesc' @@ -25,14 +25,14 @@ sh baseline.sh 2 NACOS appactiveDemoNamespaceId cd ../appactive-demo docker-compose -f docker-compose-nacos-quick.yml up -d storage storage-unit -sleep 15s +sleep 15 docker-compose -f docker-compose-nacos-quick.yml up -d product product-unit -sleep 15s +sleep 15 docker-compose -f docker-compose-nacos-quick.yml up -d frontend frontend-unit -sleep 3s +sleep 3 docker-compose -f docker-compose-nacos-quick.yml up -d gateway -sleep 3s +sleep 3 cd ../appactive-portal sh baseline.sh 3 diff --git a/appactive-demo/run-nacos.sh b/appactive-demo/run-nacos.sh index b68fa48..3b7570c 100755 --- a/appactive-demo/run-nacos.sh +++ b/appactive-demo/run-nacos.sh @@ -29,11 +29,11 @@ then export appactiveNamespaceId="${temp}" docker-compose -f docker-compose-nacos.yml build docker-compose -f docker-compose-nacos.yml up -d storage storage-unit - sleep 15s + sleep 15 docker-compose -f docker-compose-nacos.yml up -d product product-unit - sleep 15s + sleep 15 docker-compose -f docker-compose-nacos.yml up -d frontend frontend-unit - sleep 3s + sleep 3 docker-compose -f docker-compose-nacos.yml up -d gateway fi diff --git a/appactive-demo/run-quick.sh b/appactive-demo/run-quick.sh index 8af4de7..4739e99 100644 --- a/appactive-demo/run-quick.sh +++ b/appactive-demo/run-quick.sh @@ -20,16 +20,16 @@ sh baseline.sh 2 cd ../appactive-demo docker-compose -f docker-compose-quick.yml up -d nacos mysql -sleep 20s +sleep 20 docker-compose -f docker-compose-quick.yml up -d storage storage-unit -sleep 15s +sleep 15 docker-compose -f docker-compose-quick.yml up -d product product-unit -sleep 15s +sleep 15 docker-compose -f docker-compose-quick.yml up -d frontend frontend-unit -sleep 3s +sleep 3 docker-compose -f docker-compose-quick.yml up -d gateway -sleep 3s +sleep 3 cd ../appactive-portal sh baseline.sh 3 diff --git a/appactive-demo/run.sh b/appactive-demo/run.sh index 719cdbf..ddaad26 100755 --- a/appactive-demo/run.sh +++ b/appactive-demo/run.sh @@ -16,13 +16,13 @@ docker-compose build docker-compose up -d nacos mysql -sleep 20s +sleep 20 docker-compose up -d storage storage-unit -sleep 15s +sleep 15 docker-compose up -d product product-unit -sleep 15s +sleep 15 docker-compose up -d frontend frontend-unit -sleep 3s +sleep 3 docker-compose up -d gateway # docker-compose up --no-recreate diff --git a/appactive-portal/cut.sh b/appactive-portal/cut.sh index 2d92477..734ac9d 100755 --- a/appactive-portal/cut.sh +++ b/appactive-portal/cut.sh @@ -70,7 +70,7 @@ echo "$(date "+%Y-%m-%d %H:%M:%S") gateway 新规则推送结果: " && curl --he 127.0.0.1:8090/set echo "等待数据追平......" -sleep "${waitTime}s" +sleep "${waitTime}" echo "数据已经追平,下发新规则......" if [ $channel = "FILE" ] diff --git a/docs/cn/details/demo.md b/docs/cn/details/demo.md index b89686d..c54158c 100644 --- a/docs/cn/details/demo.md +++ b/docs/cn/details/demo.md @@ -49,7 +49,7 @@ nav_order: 7 2. 绑定本地 host: `127.0.0.1 demo.appactive.io`,浏览器访问 `http://demo.appactive.io/buyProduct?r_id=2000` 查看效果 3. 在`appactive-portal` 模块中运行 `sh cut.sh` 进行切流 。需要注意的是,本 demo 的禁写规则是写死的,用户若要更换切流范围则需自行计算禁写规则和下次路由规则,然后执行切流。 -> 如果你打算停止体验,可进行:`cd appactive-demo` -> `docker-compose down` +> 如果你打算停止体验,可进行:`cd appactive-demo` -> `sh quit.sh` ## 源码构建 diff --git a/docs/cn/details/demo_nacos.md b/docs/cn/details/demo_nacos.md index a4b80a1..6ca7094 100644 --- a/docs/cn/details/demo_nacos.md +++ b/docs/cn/details/demo_nacos.md @@ -52,7 +52,7 @@ nav_order: 3 2. 绑定本地 host: `127.0.0.1 demo.appactive.io`,浏览器访问 `http://demo.appactive.io/buyProduct?r_id=2000` 查看效果 3. 在`appactive-portal` 模块中运行 `sh cut.sh NACOS appactiveDemoNamespaceId` 进行切流 。需要注意的是,本 demo 的禁写规则是写死的,用户若要更换切流范围则需自行计算禁写规则和下次路由规则,然后执行切流。 -> 如果你打算停止体验,可进行:`cd appactive-demo` -> `sh quit.sh` +> 如果你打算停止体验,可进行:`cd appactive-demo` -> `sh quit.sh ./docker-compose-nacos-quick.yml` 若想直接体验,请见[官方demo站点](http://demo.appactive.io/)