1.入门运行Soul

简介: Soul 是基于 WebFlux 的高性能响应式 API 网关,支持 Dubbo、Spring Cloud、HTTP 等多协议,具备插件化、热插拔、动态流量控制、A/B 测试等特性,支持集群部署与多种数据同步方式,适用于高并发微服务架构。

Git地址:https://github.com/Dromara/soul
运行环境:
● MySQL 5.
● JDK 1.8+
● MAVEN 3.2.

● Git
更多原理性知识可以参考官网API:https://dromara.org/zh-cn/docs/soul/induction.html
前言
Soul 是基于 WebFlux 实现的响应式的 API 网关,具有异步、高性能、跨语言等特点。
目前 Soul 功能列表如下:
● 支持各种语言,无缝集成到 Dubbo、Spring Cloud、Spring Boot 中。
Soul 是极其少支持 Dubbo 的 API 网关,通过 Dubbo 泛化调用 实现。
● 支持各种语言(http协议),支持 dubbo,springcloud协议。
● 插件化设计思想,插件热插拔,易扩展。
● 灵活的流量筛选,能满足各种流量控制。
● 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
● 流量配置动态化,性能极高,网关消耗在 1~2ms。
● 支持集群部署,支持 A/B Test, 蓝绿发布。
整体架构如下图所示:
1.下载导入
执行:git clone https://github.com/Dromara/soul,下载到本地,导入到Idea中
2.启动soul-admin
更改soul-admin中配置文件,数据库模块
需要现在本地创建一个soul的数据库,如果不想使用这个名字也可以更改默认url配置项中的名称

运行之后,访问 http://127.0.0.1:9095/ 地址,进入登录页,默认内置管理员账号「admin/123456」。

以上完成admin相关模块启动

如果你的mysql数据库版本比较低,替换:META-INFO下面的schema.sql为下面

3.启动网关boostrap
理论上来说,admin启动成功后,直接启动boostrap模块就可以,不会报错,除非想更改配置文件中的数据同步方式,2.0之后的Soul支持WebSocket,Http长轮询,Zookeeper三种方式,默认使用 http 长轮询同步策略,可以做到秒级数据同步,如果刚好有其它类型服务,可以切换,官方建议使用WebSocket。

相关文章
|
5月前
|
Java 开发工具 数据安全/隐私保护
项目《中州养老》
《中州养老》是一个面向养老院的后台管理系统,涵盖员工管理端与家属小程序端。系统功能包括预约参观、入住退住、计费管理、健康监测等模块。项目采用Vue3+TS+TDesign构建前端,后端基于SpringBoot(SSM),集成Redis缓存、Nginx部署、阿里云OSS与IoT平台。支持RBAC权限控制、智能设备数据实时监控、微信登录、定时任务处理及多线程高效通信,实现养老业务全流程数字化管理。(238字)
|
5月前
|
存储 算法 BI
xxljob本地运行
本文介绍XXL-JOB分布式任务调度的部署与使用。包含源码获取、数据库导入、服务端配置启动、客户端注册及执行器配置。详细说明各数据表作用、路由策略类型,并演示任务创建、参数设置与执行日志查看,助你快速上手XXL-JOB。
|
5月前
|
缓存 开发工具 git
QLExpress使用及源码分析
QLExpress是阿里开源的轻量级规则引擎,支持通过注解与YAML配置实现业务逻辑解耦。通过@QLAlias、@QLRule等注解定义规则接口,结合AST语法树解析与上下文执行,实现动态脚本编译与缓存,适用于复杂条件判断与动态计算场景,具备高扩展性与易维护性。
|
5月前
|
数据可视化 Java 关系型数据库
01-认识Activiti
工作流指如请假、报销等需审批的业务流程,通过可视化引擎实现多节点审批,广泛应用于CRM、WMS等系统。主流技术包括BPMN、Activiti和Flowable,其中Activiti为Java系开源引擎,支持复杂流程自动化,推动企业流程数字化。
|
5月前
|
Arthas Java 测试技术
1.下载安装
Arthas是一款Java诊断工具,需先启动Java应用并安装JDK。通过curl下载arthas-boot.jar,运行后选择目标进程即可接入。支持多Java进程管理,适用于SpringBoot等应用的线上问题排查与动态诊断。
|
5月前
|
存储 缓存 算法
零拷贝
实现文件传输时,传统方式因频繁系统调用导致大量上下文切换与内存拷贝,性能低下。零拷贝技术通过合并系统调用、减少用户态与内核态切换,并利用PageCache和SG-DMA,显著降低开销。大文件场景下可结合异步IO与直接IO,避免缓存污染,提升并发性能。
|
5月前
|
安全 Java Spring
2.过滤器链加载原理
本文深入解析Spring Security过滤器加载机制,通过分析DelegatingFilterProxy、FilterChainProxy与SecurityFilterChain源码,揭示十五个安全过滤器如何自动装配并形成过滤链,帮助理解框架底层工作原理,为自定义认证页面奠定基础。
|
5月前
|
缓存 NoSQL JavaScript
如何写好一个简历项目
项目经验撰写应突出真实性与技术深度,建议命名体现企业与业务,避免学生化项目。明确开发周期、团队角色,聚焦核心业务流程。个人职责需具体,体现技术难点与优化成果,如分库分表、缓存设计、高并发处理等,展现实际贡献与系统思维。(238字)
05-Activiti工程分享
本系列包含两个Activiti实战项目:1)教程上手Demo,助你快速掌握基础用法;2)完整审批流程源码,涵盖实际业务场景。代码清晰,注释详尽,适合学习与项目参考。GitHub地址:https://github.com/Herbbbb/ActivitiDemo.git 和 https://github.com/Herbbbb/Activiti.git
|
5月前
|
SQL 数据库连接 API
03-Activity代码实现
本教程通过Activiti框架演示工作流开发全流程:创建BPMN文件、部署流程定义、启动实例、查询与完成任务。涵盖核心API操作及数据库交互,助你快速掌握工作流引擎基本使用。