【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 網關環境搭建完成。

相關文章
相關標籤/搜索