乐趣区

关于java:Soul-学习笔记搭建编译项目一

明天开始进行为期一个月的 Soul 源码学习,简略来说,Soul 是基于 WebFlux 实现的响应式的 API 网关,具备异步、高性能、跨语言等特点,Soul 网关官网介绍。

因为我始终写的是单体利用,还没有用过网关,因而先去查了网关到底是什么。看到芋道源码的一篇文章,解说的比拟具体,文章地址。看完后,我才对网关有点理解,网关次要用在微服务架构,是所有流量的入口,针对用户的申请进行转发。咱们能够在网关做很多事件,比方限流,熔断,监控,也因而对网关的性能,稳定性要求很高。

筹备工作

soul fork 到本人的 Github,clone 到本地,在本地创立一个新分支用来学习。

mvn 编译命令

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

运行

首先启动本地 mysql 服务,运行 soul-admin 目录下的 SoulAdminBootstrap,它会主动帮咱们创立数据库及对应的表,启动实现,拜访 http://localhost:9095/,即可进入网关的后盾管理系统,用户名:admin,明码:123456。在这个管理系统,能够动静配置插件的选择器和规定。

启动 soul-bootstrap 目录下的 SoulBootstrapApplication,这里是网关的次要入口,然而看了下代码很少,这么少的代码是怎么实现申请转发的呢,后续咱们缓缓钻研。默认端口是 9195,咱们拜访所有服务,都是通过这个端口。

明天只是简略的编译下代码,运行下两个次要的模块。

心愿在这段时间的学习中,我能够克服对浏览源码的恐怖,弄清楚网关底层的逻辑,认真钻研下 soul 网关援用的第三方技术,学习 soul 代码里设计模式的利用以及优良的编码习惯。

退出移动版