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

  • 相关阅读:
    图片的使用
    对话框
    窗体
    浏览器与android移动端视频互播技术实现
    Arcengine实现创建网络数据集札记(三)
    Arcengine实现创建网络数据集札记(二)
    Arcengine实现创建网络数据集札记(一)
    2019年年初iOS招人心得笔记(附面试题)
    2019年,200道面试题打造最受企业欢迎的iOS程序猿!
    BAT面试总结——iOS开发高级工程师
  • 原文地址:https://www.cnblogs.com/fightingting/p/14279425.html
Copyright © 2011-2022 走看看