前言
机缘巧合,联系到了Soul网关的作者--猫大人,加入了一个为期4周的源码小组,这个系列将成为学习Soul的记录,每天一篇。6点起床学习,对我来说,那是很久远的记忆了...
环境搭建
-
拉取代码 使用加速器加速下载
- 注意,加速器会更换
upstream地址,如果需要提PR,需要手动更改upstream 地址
- 注意,加速器会更换
-
修改 maven 配置,
homebrew安装maven@3.2,配置一下默认maven 版本,repository、setting.xml- 设置路径:file --> New Projects Settings --> preferences for new projects
-
编译代码
mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
- 一把编译成功
- 用上面那段 mvn 命令,整个
soul我的小mac两分钟就编译完了 - 编译的时候会下载依赖,要配置国内的镜像仓库,不然会很慢
- 用上面那段 mvn 命令,整个
-
准备数据库
docker 起一个空的 MySQL 数据(名字:
soul),查看admin工程下配置文件,与配置文件保持一致- ⚠️使用 MySQL5.7 及以下版本
启动Soul
看书要首先看大纲、前言,学项目首先要看start up,而我就不一样了,我不仅看了文档,还有猫大人出镜的专属视频
-
admin 工程
admin工程是 soul 的配置管理界面,许多网关的界面配置要么不做,要么做的不好,soul的界面配置还是挺好用 -
bootstrap 工程
bootstrap是soul网关的入口,代码量很少(我非常中意这一点),内部远离不清楚,后面可以重点看一下
Example
-
多个 soul-example-http 使用 soul 自带的
example工程(后期好像改为test工程了,我的工程不是最新的),启动多个 soul-example-http,玩下负载均衡图:IEDA启动多个相同工程
图:项目在admin上的注册信息
-
dubbo 工程
http --> 网关--> dubbo provider dubbo使用参考文档