Soul源码分析--环境准备

Soul环境准备

soul介绍

  1. soul是一个异步的,高性能的,跨语言的,响应式的API网关。其设计参考了Kong, Spring-Cloud-Gateway等优秀网关
  2. 特征
  • 支持各种语言(http协议),支持 dubbo,springcloud协议。
  • 插件化设计思想,插件热插拔,易扩展。
  • 灵活的流量筛选,能满足各种流量控制。
  • 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
  • 流量配置动态化,性能极高,网关消耗在 1~2ms。
  • 支持集群部署,支持 A/B Test, 蓝绿发布。
  1. 官网地址

搭建网关环境

  1. 首先到github上clone soul的代码,这里是地址,顺手可以star, fork, watch三连。
  2. 在本地执行 git clone https://github.com/dromara/soul.git 或者用idea去把代码clone下来 Soul源码分析--环境准备
  3. 等maven依赖下完之后,执行 mvn clean package install -Dmaven.test.skip=ture -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true 等编译完成
  4. 如果编译不通过,可以多试两次,有可能网络的原因会失败,成功之后就可以愉快的的玩耍了

运行

  1. 运行soul-admin,这是soul后台管理项目,可以在这里管理支持的插件相关操作,直接在线修改配置
  • 找到项目下的application.yml文件,(注意我这里用的是h2内存数据库,在没有装mysql的情况下运行),把以下代码注释掉soul下
    database: dialect: mysql init_script: "META-INF/schema.sql"
    spring下
    datasource: url: jdbc:mysql://localhost:3306/soul?useUnicode=true&characterEncoding=utf-8 username: root password: driver-class-name: com.mysql.jdbc.Driver
    把spring下的这段配置打开
    profiles: active: h2
    然后就用springboot的方式启动了
  • 用mysql的方式运行,只需要把spring中datasource下地址、用户名、密码改成本机的就可以运行了
  • admin可以用 http://localhost:9095 访问,默认的用户名:admin, 密码:123456
  1. soul-bootstrap应该不用改动什么东西,就可以直接启动。bootstrap是soul核心项目,启动后可以访问 http://localhost:9195 访问

总结

万事开关难,先把项目clone下来跑通,然后再一步步分析源码。下一篇就开始准备分析总体的架构了。

上一篇:python报错 ImportError: cannot import name ‘SKIP_ADMIN_LOG‘ from ‘import_export.admin‘


下一篇:soul源码阅读(一)环境搭建