首页 文章 精选 留言 我的

精选列表

搜索[远程],共10000篇文章
优秀的个人博客,低调大师

zuihou-admin-boot 2.5.1 发布,支持动态配置远程数据源

今日更新: 升级依赖 mybatisplus.version -> 3.4.0 mybatis.version -> 3.5.5 mybatis-spring.version -> 2.0.5 p6spy.version -> 3.9. 新增租户时,DATASOURCE模式支持指定任意数据库作为租户的数据源 🎉🎉🎉 连接的数据库从原来的zuihou_base 调整为zuihou_boot ,以便于区分zuihou-admin-cloud项目 将SCHEMA模式 zuihou-authority-server/src/main/resources/sqls/ 下的初始化租户库脚本,调整到租户服务 🎉🎉🎉 修复升级版本后DATASOURCE模式无法使用p6spy打印sql的bug 新增TenantP6SpyLogger:用于 p6spy 在输出的sql日志中,打印当前租户、当前用户ID、当前数据源连接url 修复p6spy配置文件配置项使用错误的bug 修复p6spy批量操作打印SQL日志重复的问题 优化mybatis plus升级后提示的过时代码 SCHEMA、COLUMN模式实现插件调整成 MP 3.4.0 版本最新插件 优化 SuperCacheServiceImpl 类几个批量操作方法的逻辑 新增租户时,内置超级管理员(admin),用于维护、管理整个SaaS平台,拥有一切权利,能登录到任意的租户系统中,查看其数据。 🎉🎉🎉 优化登录接口性能(查询租户、应用、用户表走缓存) SuperCacheService 新增getByKey方法-修复 AttachmentController#findAttachmentByBiz 接口和父类接口冲突 修复地区管理查询数据的bug 优化重置用户密码功能 用户表新增readonly字段-org表新增类型字段,用于区分单位或者部门 修复限流功能设置了有效期时的bug 新增zuihou-public公共模块,将zuihou-common(业务公共包)、zuihou-tenant-datasource(数据源模式插件包)等 修复代码不完全兼容NONE模式的bug 租户模式: 租户模式 描述 优点 缺点 分布式事务 NONE(非租户模式) 没有租户 简单、适合独立系统 缺少租户系统的便利性 支持 COLUMN(字段模式) 租户共用一个数据库,在业务表中增加字段来区分 简单、不复杂、开发无感知 数据隔离性差、安全性差、数据备份和恢复困难 支持 SCHEMA(独立schema) 每个租户独立一个 数据库(schema),执行sql时,动态在表名前增加schema 简单、开发无感知、数据隔离性好 配置文件中必须配置数据库的root账号、不支持复杂sql和 sql嵌套自定义函数 支持 DATASOURCE(独立数据源) 每个租户独立一个 数据库(数据源),执行代码时,动态切换数据源 可独立部署数据库,数据隔离性好、扩展性高、故障影响小 相对复杂、开发需要注意切换数据源时的事务问题、需要较多的数据库 支持 视频清单: (视频获取地址) 简介: 基于SpringBoot(2.2.9.RELEASE)的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发,支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,非常适合学习使用。核心技术采用Mybatis、SpringBoot、JWT Token、RabbitMQ、FastDFS等主要框架和中间件。 希望能努力打造一套从SaaS基础框架-分布式微服务架构-自动化部署-系统监测的解决方案。本项目旨在实现基础能力,不涉及具体业务。 功能点介绍: 接口鉴权: 通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。 监控: 利用Spring Boot Admin 来监控各个独立Service的运行状态;利用turbine来实时查看接口的运行状态和调用频率 数据权限: 利用基于Mybatis的DataScopeInterceptor拦截器实现了简单的数据权限 SaaS的无感解决方案: 使用Mybatis拦截器实现对所有SQL的拦截,修改默认的Schema,从而实现多租户数据隔离的目的。 二级缓存: 采用J2Cache操作缓存,第一级缓存使用内存(Caffeine),第二级缓存使用 Redis。 由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。 该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的缓存冷启动后对后端业务的冲击。 优雅的Bean转换: 采用Dozer组件来对 DTO、DO、PO等对象的优化转换 前后端统一表单验证: 严谨的表单验证通常需要 前端+后端同时验证, 但传统的项目,均只能前后端各做一次检验, 后期规则变更,又得前后端同时修改。 故在hibernate-validator的基础上封装了zuihou-validator-starter起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则, 以后若规则改变,只需要后端修改即可。 防跨站脚本攻击(XSS): 通过过滤器对所有请求中的 表单参数 进行过滤 通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤 当前用户信息注入器: 通过注解实现用户身份注入 在线API: 由于原生swagger-ui某些功能支持不够友好,故采用了国内开源的 knife4j ,并制作了stater,方便springboot用户使用。 代码生成器: 基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。 定时任务调度器: 基于xxl-jobs进行了功能增强。(如:指定时间发送任务、执行器和调度器合并项目、多数据源) 大文件/断点/分片续传: 前端采用webupload.js、后端采用NIO实现了大文件断点分片续传,启动Eureka、Zuul、File服务后,直接打开docs/chunkUploadDemo/demo.html即可进行测试。 经测试,本地限制堆栈最大内存128M启动File服务,5分钟内能成功上传4.6G+的大文件,正式服耗时则会受到用户带宽和服务器带宽的影响,时间比较长。 分布式事务: 集成了阿里的分布式事务中间件:seata,以高效并且对业务0侵入的方式,解决 微服务 场景下面临的分布式事务问题。 关联数据自动注入: 用于解决跨表、跨库、跨服务分页数据的属性或单个对象的属性 回显关联数据之痛, 支持对静态数据属性(数据字典)、动态主键数据进行自动注入。 项目代码地址 项目 gitee github 备注 微服务项目 https://gitee.com/zuihou111/zuihou-admin-cloud https://github.com/zuihou/zuihou-admin-cloud SpringCloud 版本后端代码 单体项目 https://gitee.com/zuihou111/zuihou-admin-boot https://github.com/zuihou/zuihou-admin-boot SpringBoot 版本后端代码 租户后台 https://gitee.com/zuihou111/zuihou-ui https://github.com/zuihou/zuihou-ui | 给客户使用的前端 开发&运营后台 https://gitee.com/zuihou111/zuihou-admin-ui https://github.com/zuihou/zuihou-admin-ui 给公司内部开发&运营&运维等人员使用 代码生成器 https://gitee.com/zuihou111/zuihou-generator https://github.com/zuihou/zuihou-generator 开发人员使用 核心工具包 https://gitee.com/zuihou111/zuihou-commons https://github.com/zuihou/zuihou-commons 核心工具包 演示地址 (演示账号没有写权限,只能查询) 项目 演示地址 管理员账号 普通账号 租户后台 http://tangyh.top:10000/zuihou-ui zuihou/zuihou test/zuiou 开发&运营后台 http://tangyh.top:180/zuihou-admin-ui demoAdmin/zuihou 无

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。