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

目标

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

简介

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

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

功能特色:mysql

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

架构图:git

image

准备工做

运行环境

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

拉取代码

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

git clone git@github.com:zhu-rundong/soul.git

模块:spring

  • 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 目录sql

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

启动

修改 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 的数据库及相关表bootstrap

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

登陆:

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

相关文章
相关标签/搜索