4.Soul数据库设计

简介: 本插件采用数据库设计,存储插件、选择器、规则及其关联关系。核心四表为:plugin(插件)、selector(选择器)、rule(规则)、条件表(匹配条件)。支持多级对应:插件→选择器→规则,每规则通过JSON handle定义处理逻辑,适用于Dubbo、SpringCloud等协议,体现Soul三大核心:插件、规则、选择器。(238字)

● 插件采用数据库设计,来存储插件,选择器,规则配置数据,以及对应关系。
● 数据库表UML类图:

● 设计详解:
○ 一个插件对应多个选择器,一个选择器对应多个规则。
○ 一个选择器对应多个匹配条件,一个规则对应多个匹配条件。
○ 每个规则在对应插件下,不同的处理表现为handle字段,这个一个不同处理的json字符串。具体的可以在admin使用过程中进行查看。
说明:
● meta_data:对dubbo泛化调用使用,每条记录对应一个dubbo接口的方法,http协议不会保存,而springcloud协议,只会存储一条数据, path为 :/contextPath/**
● plugin:存储当前支持插件,我们对应配置的插件相关参数,就会更新这样表

● rule:插件管理中,我们配置的具体规则。实际在这里我们也可以看出Soul的三大核心:plugin,rule,selector

● rule_condition:rule表中配置的,对应的具体匹配规则
● selector:规则表
● selector_condition:规则条件表

实际上,上面这张图,就对应上述四个表中的
selector-选择器列表,选择器里面的配置对应-selector_condition
rule-选择器规则列表,规则列表中的配置对应-rule_condition

相关文章
|
3月前
|
数据可视化 Java 关系型数据库
01-认识Activiti
工作流指如请假、报销等需审批的业务流程,通过可视化引擎实现多节点审批,广泛应用于CRM、WMS等系统。主流技术包括BPMN、Activiti和Flowable,其中Activiti为Java系开源引擎,支持复杂流程自动化,推动企业流程数字化。
|
3月前
|
存储 算法 BI
xxljob本地运行
本文介绍XXL-JOB分布式任务调度的部署与使用。包含源码获取、数据库导入、服务端配置启动、客户端注册及执行器配置。详细说明各数据表作用、路由策略类型,并演示任务创建、参数设置与执行日志查看,助你快速上手XXL-JOB。
|
3月前
|
Java 开发工具 数据安全/隐私保护
项目《中州养老》
《中州养老》是一个面向养老院的后台管理系统,涵盖员工管理端与家属小程序端。系统功能包括预约参观、入住退住、计费管理、健康监测等模块。项目采用Vue3+TS+TDesign构建前端,后端基于SpringBoot(SSM),集成Redis缓存、Nginx部署、阿里云OSS与IoT平台。支持RBAC权限控制、智能设备数据实时监控、微信登录、定时任务处理及多线程高效通信,实现养老业务全流程数字化管理。(238字)
|
3月前
|
存储 JSON NoSQL
MongoDB常用命令
本教程介绍MongoDB数据库操作,涵盖数据库与集合的创建、删除,文档的增删改查及分页排序查询。以文章评论系统为例,演示数据存储结构设计、CRUD操作、条件查询、投影与排序,以及分页实现方法,帮助快速掌握MongoDB基本用法。(238字)
|
3月前
|
存储 NoSQL 关系型数据库
1-MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于高并发、海量数据、高扩展性场景。广泛应用于社交、游戏、物流、物联网及视频直播等领域,支持灵活的数据模型、丰富的查询及水平扩展,适合非事务性、频繁读写的海量数据存储需求。
|
3月前
|
开发者
业务架构图
业务架构图是将现实业务抽象化表达的工具,通过分层、分模块、分功能梳理业务逻辑,明确各部分职责与关系。它淡化技术细节,聚焦业务本质,帮助客户理解业务全景,助力开发者系统掌握整体架构,提升协作效率与迭代能力。
|
3月前
|
NoSQL Redis Docker
第十章 常用组件
本简介涵盖Nginx代理机制、负载均衡与限流,分布式事务中的CAP/BASE理论及Seata模式,分布式锁实现方案,Redis数据类型、持久化与集群策略,MQ异步解耦与消息可靠传输,Elasticsearch倒排索引与搜索优化,Docker容器化与网络模式,Git分支管理与冲突解决,以及Maven项目构建与生命周期等内容,全面解析主流中间件与开发工具的核心原理与实践应用。(239字)
|
3月前
|
存储 NoSQL 关系型数据库
MongoDB索引知识
MongoDB索引通过B树结构提升查询效率,避免全表扫描。支持单字段、复合、地理空间、文本及哈希索引,适用于等值、范围、排序及全文搜索,显著提升大数据量下的查询性能。
|
3月前
|
NoSQL Java 数据库连接
第七章 SpringBoot框架
SpringBoot简化Spring开发,核心功能包括starter起步依赖、自动配置和jar包运行。通过@SpringBootApplication实现自动化配置,支持多种外部配置方式,优先级由高到低为:命令行参数 > 系统属性 > properties > yml > yaml。可自定义starter实现模块化集成。
|
3月前
|
缓存 安全 Java
第五章 Spring框架
Spring中IOC(控制反转)将对象创建交由容器管理,实现解耦;DI(依赖注入)则自动将依赖对象注入,无需手动new。通过注解如@Service、@Autowired等声明Bean和注入依赖。Bean默认单例非线程安全,需注意并发问题。作用域可设为singleton、prototype等,生命周期包括实例化、依赖注入、初始化、销毁等阶段。循环依赖通过三级缓存解决,但构造函数循环依赖需@Lazy规避。AOP基于动态代理实现日志、事务等功能,事务通过@Transactional控制传播行为与回滚规则。

热门文章

最新文章