Soul源码分析--模块介绍

Soul源码分析--模块介绍


soul 项目下面有多个子模块,现在来看一下各个子模块的作用,soul 的整体模块如下图。模块比较多,先挑几个主要的介绍一下,其它的后面再慢慢补充

在这里插入图片描述

  1. soul-admin 网关管理后台,负责插件、规则数据动态的维护,修改后可以通过 websocket、http、zookeeper、nacos 等方式同步数据到 sou-boostrap 网关
  2. soul-boostrap 真正的网关项目,规则数据通过 soul-admin 网关管理后台同步,里面的实现也很简单,基于Netty做为底层框架来响应请求
  3. soul-client 项目的作用是用来标识哪些请求来访问后端服务时,需要经过网关,比如后端服务采用的是 http 请求,那就只需要把相应的 @Annotation 加到相应的后端服务对应的类或者方法上。支持的注释有:
    • http - SoulSpringMvcClient、SoulSpringCloudClient
    • dubbo - SoulDubboClient
    • sofa - SoulSofaClient
    • tars - SoulTarsClient、SoulTarsService
  4. soul-common 中是一些通用的配置和常量声明、异常、工具类等
  5. soul-dist 打包 soul-admin 和 soul-bootstrap 的项目
  6. soul-examples 常用的一些例子在这个项目里面,现在默认是没有加到模块里面去的,下下来时,要手动在父 pom 文件里面添加上,然后 clean、install 一顿骚操作之后等成功就可以运行了
  7. soul-metrics 监控系统
  8. soul-plugin 里面是页面上显示支持的插件的实现,比如页面配置权重、负载策略等
    在这里插入图片描述
    在这里插入图片描述
  9. soul-register-center soul 的注册中心,当然也可以使用别的当作注册中心,比如 zookeeper
  10. soul-spi 不知道怎么形容的好,先暂时叫装载插件项目,这里的 spi 思想可以参考这一篇文章
  11. soul-spring-boot-starter 启动引用的相关项目
  12. soul-sync-data-center 数据同步项目
  13. soul-web 不知道干嘛的

总结:
今天的模块介绍就到这了,等后续分析再深入之后,可能会有变动,现在如果有错误,欢迎指出。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页