soul源码分析(0)阅读源码准备与soul基础

本文介绍了阅读soul源码的准备步骤,包括从GitHub fork代码、选择稳定版本、本地编译及启动网关。soul是一个高性能API网关,具备插件化、流量控制等功能。启动涉及soul-admin和soul-boostrap两个模块,需注意JDK版本及配置文件的修改,确保无端口冲突。同时,文章简述了soul的基本概念,如插件、选择器和规则。
摘要由CSDN通过智能技术生成

soul源码分析(0)阅读源码的准备与预备知识

目标

  • fork代码
  • 本地编译成功
  • 启动网关
  • soul基础

fork代码

github fork到自己的repo,然后在本地:

git clone https://github.com/evasnowind/soul

cd soul

git branch --set-upstream-to=origin/master

由于目前master分支在不断迭代、开发中,个人建议可以先拉取一个稳定的版本,方便阅读。

git fetch origin 2.2.1:2.2.1

git checkout 2.2.1

我个人的话目前使用的master最新代码(截止到2021.1.15),因此本文以及后续文章主要针对目前master分支代码。

本地编译

可以使用如下命令,跳过单元测试、加快编译:

mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true

编译成功如果是用IDEA,注意检查IDEA所用的JDK版本,需要检查Project Structure中的ProjectModules

在这里插入图片描述

在这里插入图片描述

如果高于JDK 8,可能会报Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS异常,此时将上面两个截图中的JDK都改成JDK 8即可。

启动网关

soul网关需要启动2个模块:soul-admin, soul-boostrap,前者管理元数据,后者是实际的网关模块。

  • 先启动soul-admin
    • 进入soul-admin模块,修改启动配置:
      • 主要需要修改application.yml中数据库配置,只要改为你的数据库地址、账号、密码即可。注意不用自己执行soul的数据库脚本,在启动时soul-admin将自己运行该脚本,执行创建数据库、创建表等操作。
    • 运行SoulAdminBootstrap即可。
  • 然后启动soul-boostrap
    • 进入soul-boostrap模块
    • 运行SoulBootstrapApplication即可。

如果上述启动时遇到端口冲突,注意两个模块需要同步修改、保证两边一致。

soul-admin运行成功日志效果如下:


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值