Soul数据库设计

简介: 本插件采用数据库设计,存储插件、选择器、规则及其关联关系。核心四表:plugin(插件)、selector(选择器)、rule(规则)、条件表(匹配条件)。支持Dubbo、HTTP、SpringCloud协议,体现Soul三大核心:插件、规则、选择器。

插件采用数据库设计,来存储插件,选择器,规则配置数据,以及对应关系。
数据库表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

相关文章
|
15小时前
|
缓存 开发工具 git
QLExpress使用及源码分析
QLExpress是阿里开源的轻量级规则引擎,支持通过YAML配置表达式规则。支持AST语法树解析、上下文构建与动态执行,提供脚本缓存、别名映射、指令重写等扩展能力,适用于灵活的业务逻辑解耦与动态化控制。
|
16小时前
|
数据可视化 Java 关系型数据库
认识Activiti
工作流指如请假、报销等需审批的业务流程,通过可视化引擎实现多节点审批,广泛应用于CRM、WMS等系统。主流技术包括BPMN、Activiti和Flowable,其中Activiti为Java系开源引擎,支持复杂流程自动化,推动企业流程数字化发展。(238字)
|
16小时前
|
存储 API 数据库
Activiti框架拓展
Activiti框架基于数据库实现流程管理,表名以ACT_开头,分ACT_RE_(资源库)、ACT_RU_(运行时)、ACT_HI_(历史)、ACT_ID_(身份)、ACT_GE_(通用)五类,对应流程定义、执行、历史记录、用户信息及通用数据存储,支撑流程引擎高效运作。
|
16小时前
|
SQL Java 数据库连接
Activity代码实现
本教程通过创建BPMN流程、部署定义、启动实例、查询与完成任务,演示Activiti工作流引擎的使用。涵盖流程定义部署、任务管理及数据库表变化,帮助快速掌握工作流开发基础。
|
16小时前
|
XML Java Maven
Activiti工程搭建
本教程指导如何在IntelliJ IDEA中创建Maven工程并安装ActiBPM插件,通过修改JAR包内版本信息解决兼容性问题,配置Activiti工作环境,引入依赖与配置文件,最终验证插件成功安装并运行流程设计功能。
|
17小时前
|
监控 Java 网络性能优化
jvm
本节介绍JVM相关命令:实时监控系统状态的dashboard,查看线程堆栈、JVM信息、系统属性(sysprop)、环境变量(sysenv)、虚拟机参数(vmoption)、性能计数器(perfcounter),以及日志管理(logger)、静态属性(getstatic)、OGNL表达式执行、MBean信息和堆内存导出(heapdump)等实用功能。
|
16小时前
|
缓存 Dubbo Java
什么是API网关
本文系统阐述了API网关的核心概念与价值,结合SpringBoot+Dubbo+Zookeeper架构引入Soul等网关实践,解析其作为请求路由、协议转换、统一鉴权、限流熔断的枢纽作用,探讨主流网关如Zuul、Kong等技术实现与异步、限流、降级等关键能力,揭示为何API网关成为现代微服务架构不可或缺的一环。(238字)
|
17小时前
|
缓存 前端开发 Java
数据同步原理
Soul网关通过推拉模式从配置服务同步数据,支持WebSocket、HTTP长轮询、Zookeeper三种策略。1.x版本依赖Zookeeper,2.x版本默认采用HTTP长轮询,实现秒级更新。管理后台变更配置后,通过事件机制通知网关,实时更新本地缓存,确保配置高效同步。
|
16小时前
|
Dubbo 关系型数据库 MySQL
Soul网关接入与验证
本章基于前两章搭建的应用,引入Soul网关,重点讲解Provider与Consumer如何通过注解和配置接入Soul。涵盖pom依赖、Controller注解(@SoulSpringMvcClient)、配置文件参数说明,并支持HTTP与Dubbo双协议注册,最后验证服务是否成功接入。
|
17小时前
|
Dubbo Java 应用服务中间件
搭建dubbo-zk应用
基于SpringBoot 2.2.2 + Dubbo 2.0.0构建分布式系统,使用Zookeeper作为注册中心,JDK 1.8开发。项目分为父工程、API接口模块、服务提供者与消费者,实现服务暴露与远程调用,通过Postman验证通信正常。