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

相关文章
|
4月前
|
存储 算法 BI
xxljob本地运行
本文介绍XXL-JOB分布式任务调度的部署与使用。包含源码获取、数据库导入、服务端配置启动、客户端注册及执行器配置。详细说明各数据表作用、路由策略类型,并演示任务创建、参数设置与执行日志查看,助你快速上手XXL-JOB。
|
4月前
|
数据可视化 Java 关系型数据库
01-认识Activiti
工作流指如请假、报销等需审批的业务流程,通过可视化引擎实现多节点审批,广泛应用于CRM、WMS等系统。主流技术包括BPMN、Activiti和Flowable,其中Activiti为Java系开源引擎,支持复杂流程自动化,推动企业流程数字化。
|
4月前
|
Java 开发工具 数据安全/隐私保护
项目《中州养老》
《中州养老》是一个面向养老院的后台管理系统,涵盖员工管理端与家属小程序端。系统功能包括预约参观、入住退住、计费管理、健康监测等模块。项目采用Vue3+TS+TDesign构建前端,后端基于SpringBoot(SSM),集成Redis缓存、Nginx部署、阿里云OSS与IoT平台。支持RBAC权限控制、智能设备数据实时监控、微信登录、定时任务处理及多线程高效通信,实现养老业务全流程数字化管理。(238字)
|
4月前
|
存储 JSON NoSQL
MongoDB常用命令
本教程介绍MongoDB数据库操作,涵盖数据库与集合的创建、删除,文档的增删改查及分页排序查询。以文章评论系统为例,演示数据存储结构设计、CRUD操作、条件查询、投影与排序,以及分页实现方法,帮助快速掌握MongoDB基本用法。(238字)
|
4月前
|
缓存 安全
Watcher机制(二)
WatchManager是ZooKeeper服务端用于管理Watcher的核心类,通过watchTable和watch2Paths两个映射维护路径与Watcher间的双向关系。它提供了添加、删除、触发及导出Watcher的方法,所有操作均线程安全,确保在并发环境下正确处理事件监听与通知。
|
4月前
|
存储 数据库
持久化FileTxnSnapLog
FileTxnSnapLog是ZooKeeper中用于持久化管理的核心类,封装了事务日志(TxnLog)和快照(SnapShot)操作。它通过组合方式代理具体读写,并提供数据恢复、快照保存等功能,支持从snapshot和log文件中还原DataTree状态,保障数据一致性。其内部采用树状结构维护节点关系,适用于高效的数据增删改查与事务回放。
|
4月前
|
存储 算法 API
持久化FileTxnLog
本文深入分析ZooKeeper持久化核心源码,聚焦TxnLog与FileTxnLog类。详解事务日志的追加、读取、提交与截断机制,解析日志文件结构、CRC校验、预分配策略及zxid管理,揭示数据持久化与恢复的关键实现原理。
|
4月前
|
存储 Apache 索引
.序列化
本文深入解析ZooKeeper的序列化机制,重点分析jute包中的核心接口与实现类。涵盖InputArchive、OutputArchive、Index和Record四大组件,详解其在数据读写、网络传输与存储中的作用,并结合代码示例展示序列化与反序列化的实际应用过程。
|
4月前
|
安全 Java 开发工具
工程搭建与验证
本文介绍如何基于阿里云脚手架快速搭建SpringBoot工程(选用2.7.6版本),并整合Spring Security。内容涵盖项目创建、代码导入、Web依赖引入、接口编写与验证,以及Spring Security的集成与默认登录机制。通过简单步骤实现安全访问控制,附完整代码仓库及分支。
|
4月前
|
SQL Java 关系型数据库
分页
本文介绍了五种分页实现方式:MyBatis自带RowBounds内存分页、PageHelper插件分页、SQL原生分页、数组分页及拦截器分页。对比了逻辑分页与物理分页的优劣,指出大数据量下应优先选用物理分页,避免内存溢出,提升系统性能。

热门文章

最新文章