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, 蓝绿发布。
整体架构如下图所示:
Soul-Admin
插件配置
选择器配置
Writedata
规则配置
用户管理
MyS0L
monitor-dashboard
WriItedata
EventBus
HttP
Websocket
Zookeeper
Gratana
pullorpushdata
handler
plugins
Soul生群
pull
SPI
Websocket
Http
Zookeeper
rule
cachedata
cachedata
cachedata
剁广情
厂miting
NlA
5@0昆用焙
PHP
cache
aache
JAVA
execute
drde
Tule
NET
负故均MNqinX
WE胺T务牛群
SoulAPI阿关
SoulAPI网X
共他
dubbo泛化
dubbo
rule
代月b本
百动化出
nule
docker
DCS白动化构出
WFRT务
1.下载导入
执行:git clone https://github.com/Dromara/soul,下载到本地,导入到Idea中
2.启动soul-admin
更改soul-admin中配置文件,数据库模块
需要现在本地创建一个soul的数据库,如果不想使用这个名字也可以更改默认url配置项中的名称
Gtetci日9
prefix:elasspath:/static
suffix:.htal
url:jdbc:mq:ocahot/
driyer-alass-name:com.tysql.dbc.Driver
nybat1s:
confLg-location:classpath/yt/tconf
Happar-locationg:lasspath:/nappers/*xl
aaLwdatptentar
nawespace:1c1od7480f8643b98265-75f48720c6
MWWMoM
Run/Debugconfigurations
ShareDAllowparallelrun
一眉
SoulAdminBootstrap
Name:
SpringBoot
CodeCoverage
Logs
Configuration
SoulAdminBootstrap
SoUIBooTStraPAPPlication
Mainclass:
oRgdromara.ouladmin.SoulAdminBootstrap
Templates
Environment
VMoptions:
Programarguments
Workingdirectory
Environmentvanables:
Useclasspathofmodule:
soul-admin
MIncludedependencieswithProvided'scope
JRE:
Shortencommandline:
java[options]classname[args]
user-localdefault:none
SpringBoot
EnableJMXagent
?Enablelaunchoptimization
Enabledebugoutput
口Hidebanner
RunningApplicationUpdatePolicies
OnUpdate'action:
Donothing
Onframedeactivation:
Donothing
Activeprofles:
Overrideparameters:
Cancel
运行之后,访问 http://127.0.0.1:9095/ 地址,进入登录页,默认内置管理员账号「admin/123456」。
Soulm关管理
进挥经规可习衷
进本自列表
bloomcbo
本北生泽器
壮名袜
每无板退
睿亮机
以上完成admin相关模块启动
如果你的mysql数据库版本比较低,替换:META-INFO下面的schema.sql为下面
schema.sql(11 KB)
3.启动网关boostrap
理论上来说,admin启动成功后,直接启动boostrap模块就可以,不会报错,除非想更改配置文件中的数据同步方式,2.0之后的Soul支持WebSocket,Http长轮询,Zookeeper三种方式,默认使用 http 长轮询同步策略,可以做到秒级数据同步,如果刚好有其它类型服务,可以切换,官方建议使用WebSocket。
若有收获,就点个赞吧