1.入门运行Soul

简介: 111

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为下面

📎schema.sql

3.启动网关boostrap

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

相关文章
|
前端开发 网络协议 Dubbo
超详细Netty入门,看这篇就够了!
本文主要讲述Netty框架的一些特性以及重要组件,希望看完之后能对Netty框架有一个比较直观的感受,希望能帮助读者快速入门Netty,减少一些弯路。
96522 33
超详细Netty入门,看这篇就够了!
|
11月前
|
算法 搜索推荐 Java
拼多多与抖音电商 API 接口,哪个更适合带货?
在数字化营销时代,拼多多与抖音电商API成为带货关键工具。拼多多API集成简便,适合低价、团购型商品推广;抖音电商API则依托短视频与直播,实现高互动内容带货。本文对比两者功能、优势与适用场景,助你选择更高效带货方案。
|
7月前
|
SQL 关系型数据库 MySQL
释放数据潜能,加速业务创新 —— Dataphin 5.4 新增删改API功能
Dataphin 5.4推出数据增删改API功能,支持通过配置SQL快速生成安全、可管理的CRUD接口,覆盖AI编程、数据集成、低代码等场景,降低开发成本,提升数据治理与安全性,助力企业高效释放数据价值。
476 0
|
3月前
|
人工智能 监控 JavaScript
从零搭建OpenClaw智能盯盘系统:A股均线金叉Skill开发+阿里云/本地部署与大模型API配置实战
OpenClaw(Clawdbot)是一款开源轻量化AI智能体网关,可理解为具备大模型能力的通用执行框架,本身不具备行业专属能力,需通过**Skill**实现特定功能。Skill相当于为OpenClaw安装的功能插件,每个Skill由**plugin.json**(技能配置文件)与**index.js**(核心执行逻辑)构成,可实现数据获取、指标计算、信号判断、消息推送等自动化任务,无需复杂编程即可完成定制化开发。
1037 1
|
6月前
|
SQL 监控 机器人
|
11月前
|
存储 前端开发 搜索推荐
typora最新版解决方法,typora免费下载
Typora是一款简洁高效的Markdown编辑器,支持实时预览、语法高亮、数学公式、图表绘制等功能,适用于写作、编程和技术文档编写。界面极简,功能全面,支持多平台使用。
2223 1
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
XML 存储 JSON
PyMuPDF 1.24.4 中文文档(二)(1)
PyMuPDF 1.24.4 中文文档(二)
1184 0
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
1821 0