上一篇中,我们对 Soul 有了一个简单的认识。

在学习一项新技术时,我们先按照官网上的 Demo 把环境搭建起来。今天先搭建一个单机版测试环境。

1.下载源码

soul 的 github 地址: https://github.com/dromara/soul

这里有2个选择:

  1. 如果只是用来阅读 soul 源码,不会改动,不提交 PR的,直接 git clone 的地址。
  2. 如果学习源码后,希望参与到 soul 开源项目中,fork 到自己账号下,再 clone 自己账号下的 soul 项目。

这里,我建议大家采用第2种方式,也以第2种方式演示。

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

为了方便后续拉取最新代码,设置 upstream 远程仓库

git remote add upstream https://github.com/dromara/soul# 后续拉取最新代码时使用
git checkout master
git pull upstream master

后续如果提交 PR 时,会创建单独的 branch 修改代码后上传,目前我们只是阅读源码,所以创建一个 read 的分支,互不影响。

git checkout -b read

把源码下载好后,导入 IDEA 中。

2.启动 MySQL

soul-admin 模块需要把一些数据持久化到 MySQL中。

3.启动 soul-admin 项目

在 IDEA 里找到 soul-admin 模块,按照各自数据库配置,修改配置文件(我的是3306端口号,用户名root,没有密码)

启动完成后,进入控制页面 http://127.0.0.1:9095/,使用 admin/123456 登录。欢迎页面如下:

在插件列表下,所有页面都是空白的。

4.启动 soul-bootstrap,这就是 Soul 网关服务项目,默认端口号是9195。

5.接入 HTTP 应用。

启动 examples 下的 soul-examples-http。

再次访问管理页面的 devide 插件,有了如下选择器。

在 soul-examples-http 项目下的 controller 层,可以看到这些接口信息,如下图这个接口 /order/findById。

此时可以直接访问这个接口 http://localhost:8188/order/findById?id=95

也可以通过网关来访问这个接口 http://localhost:9195/http/order/findById?id=95

今天就先体验到这里,明天我们继续深入的探索 HTTP 服务是如何接入的。

文章是本人一边学习一边记录的,如有错误,请批评指正,谢谢。

【Soul源码阅读】2.单机部署 Soul相关推荐

  1. 【Soul源码阅读系列(一)】Soul网关初探

    本篇文章主要内容如下: Soul是什么 如何在本地运行Soul 对Soul进行压测 Soul 是什么 Soul是什么?它可不是灵魂交友软件! 引用Soul的官网,它是这样描述Soul的: 这是一个异步 ...

  2. soul源码阅读 启动soul应用

             soul的官方文档地址:https://dromara.org/zh-cn/docs/soul/soul.html         素质三连,watch,start,fork之后cl ...

  3. Soul源码学习(一)——soul原理及环境搭建

    概述 Soul 是基于 WebFlux实现的响应式的 API 网关,具有异步.高性能.跨语言等特点. 作者:我希望能够有一样东西像灵魂一样,保护您的微服务.在参考了 Kong.Spring Cloud ...

  4. 【Soul源码阅读】3.HTTP 用户接入 Soul 流程解析

    昨天只是极简入门,关于网关是怎么感知到我们的应用的,相信小伙伴们一定有疑问,今天先来看下 HTTP 用户如何接入 Soul,以及接入的流程是怎样的. 这是官网对于 HTTP 用户的文档,https:/ ...

  5. 【Soul源码阅读】12.soul-admin 与 soul-bootstrap 同步机制之 http 长轮询解析(上)

    目录 1.前情回顾 2.配置 2.1 soul-admin 2.2 soul-bootstrap 3.启动 3.1 启动 soul-admin 3.2 启动 soul-bootstrap 3.2.1 ...

  6. soul源码阅读 soul数据同步之nacos

    nacos的安装在官网明确写的很清楚,这里就不再赘述了.管理页面地址是http://localhost:8848/nacos记得登录用户名密码是nacos/nacos; 启动nacos同步 图1 图2 ...

  7. Soul源码解析(16)-Soul网关熔断插件使用及源码解读

    一.目标 1.使用Soul网关熔断插件: 2.解读熔断插件关键代码: 二.内容 2.1 背景 熔断:在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时 ...

  8. Soul网关源码阅读(十)自定义简单插件编写

    Soul网关源码阅读(十)自定义简单插件编写 简介     综合前面所分析的插件处理流程相关知识,此次我们来编写自定义的插件:统计请求在插件链中的经历时长 编写准备     首先我们先探究一下,一个P ...

  9. Soul网关源码阅读(九)插件配置加载初探

    Soul网关源码阅读(九)插件配置加载初探 简介     今日来探索一下插件的初始化,及相关的配置的加载 源码Debug 插件初始化     首先来到我们非常熟悉的插件链调用的类: SoulWebHa ...

最新文章

  1. 鹅厂是如何使用 Git 的?
  2. Java 14 Hotspot 虚拟机垃圾回收调优指南!
  3. 修改eclipse启动时eclipse使用的jre
  4. OpenCV背景扣除Background Subtraction
  5. malloc()和calloc()有啥区别
  6. JavaScript:变量提升作用域
  7. 线性表的顺序存储C++代码实现
  8. 计算机中常用的三种码制,码制
  9. activiti5 工作流
  10. 查看xp计算机物理地址,Xp系统怎么更改物理地址?WinXp系统修改物理地址的方法...
  11. 【思特奇杯·云上蓝桥-算法集训营】第1周----真题汇总+思路分析
  12. 李开复写给中国大学生的七封信(2/7)
  13. Hbase篇(7)-Region的分裂
  14. 契约锁电子签章在食品行业全产业链的应用场景
  15. 惠普LaserJet M1216nfh MFP激光打印机开机提示“安装黑色碳粉盒”亮黄灯
  16. 施耐德服务器屏幕不显示,施耐德 触摸屏 HMI_ presentation -人机界面.ppt
  17. 如何使用python装饰器_如何使用装饰器(瓶子.py)
  18. zigbee 问题一:协调器究竟如何选择信道?
  19. JVM:自动内存管理-垃圾收集器与内存分配策略
  20. Ios常用第三方框架(一)

热门文章

  1. Windows10 1803版本以上找回控制面板语言设置的方法
  2. SpringBoot入门简介
  3. 微信小程序 录音+播放组件封装(源码)
  4. 团队解散,我们该何去何从?
  5. 服务器 搭建虚拟主机,server2016下搭建web服务器三种虚拟主机实验文档
  6. 导出文件夹下所有文件名
  7. CBG 2108班day04学习内容总结
  8. 合宙ESP32C3基于Arduino IDE框架下配置分区表
  9. 使用Windows自带命令校验文件哈希值
  10. bcedit双系统更改启动项名称_Win7/Win10双系统自动设置当前系统为默认启动项