zoukankan      html  css  js  c++  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 代码里设计模式的应用以及优秀的编码习惯。

  • 相关阅读:
    html Table实现表头固定
    Asp.net ORA-12154: TNS: 无法解析指定的连接标识符
    VS加载项目时报错 尚未配置为Web项目XXXX指定的本地IIS
    Sqlserver 导出insert插入语句
    RRAS
    MVC实例应用模式
    MVC概述
    23种设计模式
    XXX系统质量属性
    大型网站架构读后感
  • 原文地址:https://www.cnblogs.com/fightingting/p/14279425.html
Copyright © 2011-2022 走看看