一、soul源码学习-初识

本地代码编译

  1. github上访问soul的代码仓库 : https://github.com/dromara/soul

  2. fork 到自己的仓库

  3. 将代码pull到本地

  4. 使用 mvn clean package install -Dmaven.test.skip=true -Drat.skip=true -Dcheckstyle.skip=true 命令本地打包编译

  5. 项目编译后就可以愉快的本地开始调试运行代码了

soul的特性接下来需要关注的问题

  • 支持各种语言(http协议),支持 dubbo,springcloud协议。

    • 之后学习关注下不同协议的实现细节,以及通过什么方式来支持的?
  • 插件化设计思想,插件热插拔,易扩展。

    • 如何实现插件化?如何做到热插拔?
  • 灵活的流量筛选,能满足各种流量控制。

    • 是怎么做的流量控制?是如何控制的?
  • 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。

    • 支持哪些插件?如何支持的?
  • 流量配置动态化,性能极高,网关消耗在 1~2ms。

    • 如何动态化配置?为什么性能很高?如何实现的?
  • 支持集群部署,支持 A/B Test, 蓝绿发布。

    • 如何做的A/B Test

soul的整体架构图:

image.png

soul单机部署 简单架构图:

image.png

soul单机部署 dubbo 简单架构图:

image.png

soul单机部署 springboot简单架构图:

image.png

soul单机部署 spring cloud简单架构图:

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容