【Soul源码阅读-01】环境搭建

目标

  • 搭建 soul 网关源码环境
  • 编译代码,运行soul-admin、soul-bootstrap

简介

Soul 是基于 WebFlux 实现的响应式的 API 网关,具有异步、高性能、跨语言等特点。

soul 官网:https://dromara.org/zh-cn/doc...

功能特点:

  • 支持各种语言(http协议),支持 dubbo,springcloud协议。
  • 插件化设计思想,插件热插拔,易扩展。
  • 灵活的流量筛选,能满足各种流量控制。
  • 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
  • 流量配置动态化,性能极高,网关消耗在 1~2ms。
  • 支持集群部署,支持 A/B Test, 蓝绿发布。

架构图:

【Soul源码阅读-01】环境搭建_第1张图片

准备工作

运行环境

Idea 、maven、jdk1.8+、mysql5.x+

拉取代码

一键三连 soul网关,将 fork 到自己仓库的代码 clone 到本地

git clone [email protected]:zhu-rundong/soul.git

模块:

  • soul-admin : 插件和其他信息配置的管理后台
  • soul-bootstrap : 用于启动项目,用户可以参考
  • soul-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问
  • soul-common : 框架的通用类
  • soul-dist : 构建项目
  • soul-metrics : prometheus(普罗米修斯)实现的 metrics
  • soul-plugin : Soul 支持的插件集合
  • soul-spi : 定义 Soul spi
  • soul-spring-boot-starter : 支持 spring boot starter
  • soul-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据
  • soul-examples : RPC 示例项目
  • soul-web : 包括插件、请求路由和转发等的核心处理包

编译

idea 导入 soul 源码,在 Terminal 控制端进入 soul 目录

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

【Soul源码阅读-01】环境搭建_第2张图片

启动

修改 soul-admin 下 application.yml 中 mysql 配置

  datasource:
    url: jdbc:mysql://localhost:3306/soul?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: admin
    driver-class-name: com.mysql.jdbc.Driver

启动 SoulAdminBootstrap、SoulBootstrapApplication,在启动过程中,soul 会自动创建名称为 soul 的数据库及相关表

访问地址:http://localhost:9095/,默认 Account/Password: admin/123456

【Soul源码阅读-01】环境搭建_第3张图片

登录:

【Soul源码阅读-01】环境搭建_第4张图片

至此,Soul 网关环境搭建完成。

你可能感兴趣的:(Soul)