入门运行Soul

简介: Soul 是基于 WebFlux 的高性能响应式 API 网关,支持 Dubbo、Spring Cloud、Spring Boot,具备跨语言、异步、低延迟(1~2ms)特性。采用插件化设计,支持热插拔、动态流量控制、A/B 测试与蓝绿发布,内置鉴权、限流、熔断等丰富插件,可通过 WebSocket、HTTP 长轮询等方式实现配置实时同步。

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

相关文章
|
Arthas 监控 Java
Java 诊断利器 Arthas使用
Java 诊断利器 Arthas使用
5444 0
|
SQL JSON 前端开发
|
4月前
|
人工智能 监控 数据可视化
【AI加持】基于PyQt+YOLO+DeepSeek的车型检测系统(详细介绍)
本文介绍了一款基于PyQt5、YOLOv8和DeepSeek的车型检测系统。该系统通过YOLOv8实现实时目标检测,可识别公交车、小汽车等多种车型,并利用DeepSeek进行智能分析评估。系统采用Sqlite3进行数据存储,结合多线程技术提升性能。应用场景包括交通流量监测、智慧停车场管理、公路收费站和城市安防等,为智能交通建设提供高效解决方案。系统还具备登录注册功能,确保使用安全。该技术方案将计算机视觉与AI分析相结合,推动交通管理向智能化方向发展。
597 36
|
4月前
|
安全 JavaScript 数据安全/隐私保护
零基础搞定OpenClaw(小龙虾)Windows部署:最新安装包+全报错解决方案
零基础Windows部署OpenClaw(小龙虾)教程:提供最新一键安装包(v2.6.2),内置Git/Node.js/Python等全部依赖,5–10分钟可视化完成。覆盖杀毒拦截、路径报错、解压失败等全场景解决方案,支持微信/飞书联动、本地运行保安全。
|
资源调度 运维 监控
如何通过任务调度实现百万规则报警
报警是一个公司的日常需求,常见的形态除了满足运维过程中的基础设施监控报警(CPU/内存/磁盘等)之外,部分公司也会在应用指标(如 QPS、RT 等)及业务指标(如 GMV/日活 等)上有相应的报警需求。
4859 105
如何通过任务调度实现百万规则报警
|
7月前
|
人工智能 数据可视化 数据挖掘
2026年企业级数据可视化软件推荐,选对BI工具提升决策效率
瓴羊Quick BI是阿里云旗下企业级数据可视化工具,助力各规模企业高效挖掘数据价值。支持多源数据接入、拖拽式操作与自然语言查询,具备AI分析、亿级数据秒级响应、跨部门协同等能力,广泛应用于零售、制造等行业,获Gartner连续六年推荐及ISO27001认证,提供SaaS与混合云灵活部署。
|
8月前
|
缓存 Dubbo Java
什么是API网关
API网关是一种架构思想,用于统一接收外部请求并转发至后端服务,实现协议转换、路由、鉴权、限流、熔断降级等功能。通过网关,可简化客户端调用,提升系统安全性与可维护性。常见实现如Kong、Zuul、Spring Cloud Gateway等,广泛应用于微服务架构中,支持异步处理、全链路监控与多维度流量控制。
|
Linux 索引
linux命令—ls
`ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。
|
自然语言处理 搜索推荐 机器人
合力亿捷云客服系统:2025年大模型如何重塑全渠道对话体验
2025年,以DeepSeek等大模型为核心的智能客服系统,突破传统效率瓶颈,通过全渠道整合、多模态交互、个性化服务与情感智能,重构企业客户互动模式。从机械应答到认知共情,从单一文本到多维交互,大模型赋能客服系统成为企业价值创造的战略资产,推动客户服务迈向智能化新纪元。
629 2
|
关系型数据库 MySQL 索引
MySQL InnoDB中的锁-插入意向锁(Insert Intention Lock)
MySQL InnoDB 插入意向锁 Insert Intention Lock
4823 0
MySQL InnoDB中的锁-插入意向锁(Insert Intention Lock)

热门文章

最新文章