# ASC **Repository Path**: longtale/asc ## Basic Information - **Project Name**: ASC - **Description**: springclooud阿里巴巴框架。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-10-19 - **Last Updated**: 2022-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ASC #### 介绍 基于SpringCloudAlibaba实现的微服务架构,作为其他项目的后端快速开发框架。 #### 软件架构 ``` Spring Cloud Alibaba Version:2.2.3.RELEASE Sentinel Version:1.8.0 Nacos Version:1.3.3 RocketMQ Version:4.4.0 Dubbo Version:2.7.8 Seata Version:1.3.0 ``` 1.gateway 实现负载均衡和统一鉴权拦截 2. 应用层模块负责与前端交互,提供统一的restFul接口,模块统一命名application-xxx。 > knife4j 生成接口文档 > 多应用层、应用负载均衡通过redis实现session共享。 2. 服务层模块分为两部分,一部分定义接口(service-xxx-api),另一部分实现服务(service-xxx-server)。 > 接口可打包jar用于其他项目引用,服务实现部署在开发、测试、生产环境用于提供服务。 > 应用层与服务层,服务层之间的交互统一使用dubbo协议,故所有的应用与服务应部署于统一私网网络环境或容器环境,如k8s、docker等 3. 数据库dao层封装于服务实现中,对外统一提供dto和接口方法。 4. 终端实现layui-admin,计划稍后提供示例代码 #### 编译方式 1、通过最顶层父项目编译,效果如下: ```$xslt [INFO] Reactor Summary: [INFO] [INFO] framework .......................................... SUCCESS [ 0.003 s] [INFO] common ............................................. SUCCESS [ 0.949 s] [INFO] service-user ....................................... SUCCESS [ 0.001 s] [INFO] service-user-api ................................... SUCCESS [ 0.073 s] [INFO] service-user-server ................................ SUCCESS [ 1.114 s] [INFO] application-admin .................................. SUCCESS [ 2.034 s] [INFO] auth-business ...................................... FAILURE [ 0.217 s] ``` #### 计划实现的组件 √ nacos 服务注册与发现、分布式配置管理 √ dubbo 内部交互协议 @todo Sentinel 流量控制、熔断降级、系统负载保护等 @todo RocketMQ 。。。。 @todo Seata 事务 @todo 链路跟踪 @todo ELK日志收集中心 @todo redis 数据字典和共享缓存配置 #### 功能列表 1. 实现基于角色的用户权限管理及相关功能RBAC 2. 实现基于部门树和角色的数据权限管理 3. 实现配置字典功能 4. 实现基于jwt的token鉴权 5. 实现统一网关管理 #### 开发环境搭建 #### 测试 ```$xslt 测试账户 { "grant_type": "password", "client_id": "client-app", "client_secret": "sun.chen", "username":"admin", "password":"123456" } ``` 1、dubbo服务测试 > 安装JMeter https://jmeter.apache.org/download_jmeter.cgi > > 安装 > > 1. 下载jmeter-plugins-dubbo拓展插件 https://github.com/thubbo/jmeter-plugins-for-apache-dubbo > 2. 将下载的jar包放到${JMeter目录}/lib/ext 目录下,启动JMeter,${JMeter目录}/bin/jmeter.sh > > 测试过程参见 https://www.jianshu.com/p/e4fa4bca9290 #### 安装教程 生成证书 ``` keytool -genkey -alias jwt -keyalg RSA -keystore jwt.jks ``` 1. 安装nacos1.4.0 2. 自动部署脚本 #### 参与贡献 暂无 欢迎fork