关于ASC的说明

2020-12-25  本文已影响0人  昵称被占用最扎心

基于springcloud alibaba 做了一个简单的开发框架,用于以后复用,简单介绍一下:

介绍

基于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 实现负载均衡和统一鉴权拦截

  1. 应用层模块负责与前端交互,提供统一的restFul接口,模块统一命名application-xxx。

knife4j 生成接口文档

多应用层、应用负载均衡通过redis实现session共享。

  1. 服务层模块分为两部分,一部分定义接口(service-xxx-api),另一部分实现服务(service-xxx-server)。

接口可打包jar用于其他项目引用,服务实现部署在开发、测试、生产环境用于提供服务。

应用层与服务层,服务层之间的交互统一使用dubbo协议,故所有的应用与服务应部署于统一私网网络环境或容器环境,如k8s、docker等

  1. 数据库dao层封装于服务实现中,对外统一提供DTO和接口方法。

  2. 终端实现layui-admin,因版权问题,不开放源代码,将来会用vue重构一套前端代码并开放给大家。

编译方式

1、通过最顶层父项目编译,效果如下:

[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日志收集中心
redis 数据字典和共享缓存配置

功能列表

  1. 实现基于角色的用户权限管理及相关功能RBAC
  2. 实现基于部门树和角色的数据权限管理
  3. 实现配置字典功能
  4. 实现基于auth2.0的鉴权
  5. 实现统一网关管理

开发环境搭建

idea 2020.3 java开发工具
RMD redis可视化工具
navicate mysql数据库工具
jemeter 测试dubbo接口,需要安装插件

测试

测试账户
{
  "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. 自动部署脚本
上一篇 下一篇

猜你喜欢

热点阅读