概述
从今天开始准备用四周的时间学习soul网关,并通过查看官方文档、examples、分析其底层的源码等方式对她有个深入而全面的了解。
今天主要从以下几个方面开始学习:
1. 宏观的了解soul
2. windows下搭建soul的运行环境
3. windows编译soul并运行soul-admin和soul-bootstrap模块
宏观的了解Soul
官方文档地址:https://dromara.org/zh-cn/docs/soul/soul.html
文档上介绍:
什么是Soul
这是一个异步的,高性能的,跨语言的,响应式的API网关。我希望能够有一样东西像灵魂一样,保护您的微服务。参考了Kong,Spring-Cloud-Gateway等优秀的网关后,站在巨人的肩膀上,Soul由此诞生!。
Soul的特性
1. 支持各种语言(http协议),支持 dubbo,springcloud协议。
2. 插件化设计思想,插件热插拔,易扩展。
3. 灵活的流量筛选,能满足各种流量控制。
4. 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
5. 流量配置动态化,性能极高,网关消耗在 1~2ms。
6. 支持集群部署,支持 A/B Test, 蓝绿发布。
搭建Soul的运行环境
安装JDK 1.8+
jdk下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
根据自己系统下载对应版本。
安装Git
windows下git工具下载地址:https://gitforwindows.org/
安装maven
maven下载地址:http://maven.apache.org/download.cgi
安装开发工具
我这边用的是Intellij IEDA
下载地址:https://www.jetbrains.com/idea/download/
编译Soul并运行soul-admin和soul-bootstrap模块
watch、star、fork时刻关注项目动态
下载
使用:git clone https://github.com/dromara/soul.git命令下载soul源码到本地。
编译
进入soul目录,执行下面语句:
mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
编译成功会看到如下界面:
使用idea导入项目
可以看到如下的项目结构
启动soul-admin
由于没有配置mysql所以启动的时候使用h2。
去掉配置文件中注释部分
运行SoulAdminBootstrap启动类
然后就可以访问管理页面了,访问http://localhost:9095/地址。
默认用户名:admin 默认密码:123456
启动soul-bootstrap
运行SoulBootStrapApplication
看到以下界面说明启动成功了。
总结
今天主要是做了学习Soul网关的一些准备工作。并成功的运行。
和其他网关不同的是,Soul有自己的管理界面可以做到动态的配置,非常的灵活。
下一阶段:通过运行源码中的examples,并结合文档,实现http的代理功能。