4.Soul数据库设计

简介: 该插件采用数据库设计,存储插件、选择器、规则及其匹配条件的配置数据。通过UML类图展示表结构,明确 plugin、selector、rule 三大核心模块关系:一个插件对应多个选择器,一个选择器对应多个规则和匹配条件,各规则处理逻辑以JSON格式存于handle字段。
  • 插件采用数据库设计,来存储插件,选择器,规则配置数据,以及对应关系。
  • 数据库表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分布式任务调度框架的本地部署与使用流程,涵盖源码获取、服务端数据库初始化、配置修改、服务启动及客户端注册执行器等步骤,并演示如何配置调度任务、选择路由策略及测试执行效果,帮助快速上手使用。
 xxljob本地运行
|
4月前
|
Java 数据库连接 调度
xxljob执行源码分析
本文深入解析XXL-JOB分布式任务调度框架源码,涵盖架构设计、核心执行流程与关键线程池机制。内容包括任务触发、注册、失败重试、日志报告及时间轮调度原理,结合带中文注释的源码包与分析导图,全面剖析其高性能设计实现。
 xxljob执行源码分析
|
4月前
|
人工智能 Serverless API
一键部署Stable Diffusion教程
本教程指导用户通过阿里云函数计算一键部署Stable Diffusion,支持多种绘图风格,提供免费额度体验。包含详细步骤与注意事项,助力快速搭建AI绘画环境。
一键部署Stable Diffusion教程
|
4月前
|
消息中间件 算法 网络协议
8.选举机制理解描述
本文深入解析ZooKeeper的Leader选举机制,涵盖启动期与运行期的选举流程、FastLeaderElection算法核心规则及实现细节,重点分析投票PK、逻辑时钟、状态变更等关键环节,揭示数据一致性保障原理。
|
4月前
|
监控 Java 调度
定时任务概述
定时任务是通过时间表达式调度执行的任务,适用于定时对账、超时取消等场景。实现方案包括单体架构中的轮询休眠、Timer、ScheduledExecutorService、Quartz及SpringTask;分布式架构下则面临重复执行、动态调整等问题,主流解决方案有XXL-JOB、Elastic-Job、Saturn和ScheduleX等。
|
4月前
|
缓存 运维 监控
一场FullGC故障排查
本文记录了一次线上CPU使用率飙升至104%的问题排查过程。通过分析发现,问题根源为JVM频繁Full GC,而机器内存监控未明显异常,易造成误判。进一步使用JProfiler分析堆内存快照,定位到大对象(List<Map>)占用近900MB空间,导致老年代被打满。该对象源于将Excel数据以低效结构加载至内存且长时间驻留。解决方案包括“治本”——将数据移出JVM内存存入Redis,或“治标”——请求后及时清理冗余字段。最终总结了从监控识别、工具分析到代码定位的完整排查思路,强调应关注JVM层面指标,并合理设计内存使用结构。
一场FullGC故障排查
|
4月前
|
jenkins Java 持续交付
SpringBoot集成Jenkins
本文介绍在阿里云CentOS系统上安装配置Jenkins的完整流程,涵盖环境准备(JDK1.8)、Jenkins安装与启动、端口及用户配置、Git与Maven集成,并包含插件安装与初始设置步骤,助力实现持续集成部署。
 SpringBoot集成Jenkins
|
4月前
|
缓存 前端开发 安全
5.数据同步原理
Soul网关通过推拉模式实现配置数据同步,支持WebSocket、HTTP长轮询和Zookeeper三种策略。管理后台变更配置后,通过EventPublisher发布事件,依据同步策略将变更推送给网关,实现准实时更新。HTTP长轮询借鉴Apollo、Nacos设计,结合异步Servlet机制,确保高效与低延迟。
 5.数据同步原理
|
4月前
|
Web App开发 Dubbo 关系型数据库
3.Soul网关接入与验证
本章节在前两章基础上引入Soul网关,讲解如何将Provider和Consumer应用接入Soul。通过添加依赖、使用@SoulSpringMvcClient注解及配置文件实现服务注册,并验证网关路由与通信功能,完成Dubbo与HTTP服务的统一管理。
 3.Soul网关接入与验证
|
4月前
|
Dubbo Java 应用服务中间件
1.入门运行Soul
Soul 是基于 WebFlux 构建的响应式 API 网关,支持 Dubbo、Spring Cloud 等多种协议,具备高性能、异步、跨语言特性。提供插件化架构,支持热插拔、动态配置、A/B 测试与蓝绿发布,集成鉴权、限流、熔断等丰富插件,适用于微服务网关场景。
 1.入门运行Soul