架构特点 #

平台架构 #

Mall3s平台架构

系统架构 #

架构图

技术栈 #

技术栈

部署架构 #

布署架构

底层架构 #

  • 基于.NET6(Mall3s)实现快速开发框架,整合最新技术,模块插件式开发,前后端分离,开箱即用。

  • 采用前后端分离的模式:前端基于 vue-element-admin 框架定制开发,后端采用Spring Cloud Alibaba全家桶;

  • 服务注册&发现与调用:基于 Nacos 来实现的服务注册与发现,使用 WebApiClient 来实现服务互调;

  • 统一授权认证:基于Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。

  • 业务熔断:采用Sentinel/Polly实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性;

  • 应用监控:利用 App.Metrics来监控各个服务的运行状态;

  • 链路调用监控:基于SkyWalking作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间;

  • 灵活的权限控制:基于RBAC权限管理,该功能模块下的功能用于维护企业的组织架构信息以及员工信息。主要包含了组织架构管理、部门管理、分级管理员、角色管理、岗位管理、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中;

  • 支持多租户:简单配置即可转为多租户模式,实现数据隔离;

  • 支持多种数据库:支持MySQL、Oracle、SQL Server您无需关心不同类型数据库间的语法区别;

  • 统一接口管理:基于Swagger拓展的API文档服务,主要提供在平台开发阶段的API文档管理和API调试等功能。

安全方面 #

  • 支持数据库密码及其它安全密钥自动加密配置。

  • 所有请求参数获取,均通过 XSS 跨站脚本过滤方法。

  • 乐观锁简单实现,必要情况下使用,提高数据安全性。

  • 身份认证:

    • 登录账号密码可加密后再提交后台。

    • 同账号是否多会话登录。

用户界面 #

  • 基于 Element-UI 平面化界面设计,精细,更加美观、高端、大气、上档次。

  • 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用 Ajax 交互,优化体验和性能。

  • 支持一键换肤,系统右上角设置即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。

  • 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。

  • 国际化的支持,页面标签国际化,字典菜单国际化,数据国际化。

前端开发 #

  • 采用当前比较流行的 Vue,它的优点很多,大家可自行查阅官网介绍。

  • 封装通用组件,实现基本表单控件、树选择,列表选择,文件上传,等等,总之是简化开发。

  • 数据模板组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、流程发起等。

  • 支持前后分离应用,方便与手机 API 接口对接,Token 方式授权。

功能及组件 #

  • 在线任务调度,界面化管理,可新增,编辑、删除、暂停、恢复、运行一次等操作,支持独立数据源,分布式作业调度,调度日志监控分析查询。

  • 代码生成工具操作简化及优化,支持多数据源。

  • 在线查询在线人员,强踢在线账号。。