soul源码阅读-spring cloud插件流程解析

soul为使用了springCloud框架的应用提供了springCloud插件,方便此类应用在使用soul网关的时候可以做到无缝集成,springCloud插件与divide插件共同点是二者都是使用的Http协议,因为这个原因,二者的实现其实在功能上是一样的,区别只是两个插件对具体应用做了不同的处


soul源码阅读-sofa插件解析

本文介绍soul中对sofa的集成,方便使用sofa项目在接入soul时可以无缝衔接,sofa插件其在调用的时候,与dubbo类似,话不多说上代码protected Mono<Void> doExecute(final ServerWebExchange exchange, final


Soul源码阅读-ApacheDubboPlugin插件解析

本文介绍apache dubbo插件的具体实现,在看代码之前,介绍一下dubbo插件干的活,以及dubbo插件的关键数据结构,再具体看看doExecute方法实现dubbo插件,主要作用是用来配合使用dubbo的项目,在使用dubbo协议进行调用时候,网关也可以拦截请求进行转发,相当于为了dubbo


soul-dubbo例子使用

运行项目依次启动soul-admin,soul-bootstrap,soul-examples-apache-dubbo-service三个服务,观察apache-dubbo的日志,启动的时候就会将配置的接口注册到网关中,项目中使用**@SoulDubboClient**注解定义了网关要代理的路径,


soul源码阅读-sofa插件使用

启动参考官网介绍,在soul-bootstarp中,打开sofa相关依赖,启动soul-admin和soul-bootstrap,在启动example下soul-examples-sofa在启动过程中遇到sofa注解的接口失败的问题,debug源码的时候发现,接口在注册的时候,整体流程如下SofaS


soul源码阅读-springCloud插件使用

启动在soul-bootstarp的pom中,打开Spring cloud的依赖。参考官网介绍启动soul-admin、soul-bootstrap、eureka-server,再启动example下soul-examples-spring cloud日志显示spring cloud接口成功注册到了


soul源码阅读,divide插件探活,负载均衡,路径选择解析

Divide插件,作为soul进行http协议请求处理的核心插件,本文介绍divide具体工作流程,插件提供的负载均衡,服务探活具体实现,下面是插件的主体逻辑,网关在接收到客户端的请求时divide插件干的活全在这里。protected Mono<Void> doExecute(fina


soul源码阅读-使用@SoulSpringMvcClient将接口注册到网关流程解析

在使用soul将我们编写的controller接口注册到网关,由网关统一代理时,一般情况,http方式,我们只需要使用@SoulSpringMvcClient注解标注在对应的接口上就行了,那么,我们使用了注解之后,soul是如何将我们的接口注册到网关的呢先看看注解在哪些地方被使用了我们进到这个类里面


soul源码阅读-soul-web使用http长轮询策略同步配置原理解析

简介在参考soul官网研究soul的数据同步策略的时候发现,soul目前支持的数据同步策略有zk,websocket和http长轮询,而zk和websocke是主动push的策略,在admin进行配置修改的时候才会触发,长轮询作为pull策略,通过soul-web主动向admin发起数据同步策略,