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发起数据同步策略,


soul源码阅读-zookeeper数据同步策略流程详解

前言这次讲解soul中使用zookeeper网关同步数据的流程,照旧参考官方文档的说明。依赖zookeeper的 watch 机制,soul-web会监听配置的节点,soul-admin在启动的时候,会将数据全量写入 zookeeper,后续数据发生变更时,会增量更新zookeeper的节点,与此同


soul源码阅读-nacos数据同步策略流程详解

前言在soul新版本中添加了nacos的数据同步策略,大致的同步流程如下graph LRadmin[admin启动向nacos中发送数据] --> nacos[nacos]web[web启动时从nacos中拿取数据更新本地缓存] -->nacos[nacos]nacos1[nacos中的


soul源码阅读-soul-web使用websocket策略同步配置原理解析

前言在之前的文章中说到了soul的http长轮询数据同步策略,这次说一下另一个跟http有点关系的同步策略websocket,websocket策略与长轮询相反,它是admin主动向网关push数据,在官网的文章中,也介绍了websocket的同步原理,结合官网的文章看一下websocket的整体同


soul架构概述与http服务使用

soul网关介绍soul网关,为了实现其高性能,轻量级的目标,网关核心部分使用本地缓存存储数据,基于Spring webflux框架,做到了实时响应;所有的组件以插件形式与网关集成,易扩展且具备热插拔效果,数据同步支持http长轮训, websocket, nacos, zookeeper,选择灵活


soul源码解析环境搭建教程

从GitHub拉项目首先从GitHub上star+fork项目到自己的github仓库中,soul项目地址:https://github.com/dromara/soul如果github慢,可以使用gitee代替:https://gitee.com/shuaiqiyu/soul然后在自己的仓库,将项


记一次JPA不同查询得到同一对象修改发生异常的问题

在公司做项目的时候,根据数据库一个排序字段进行排序,在对该字段进行修改的时候,需要保证修改后顺序依然是连续正确的,做的时候我查询了两次,通过ID查询得到要修改的数据修改之前的值,然后再通过序号查询到修改后哪些值的序号需要调整。在循环中进行修改的时候,发现本来修改的ActivityAdsDO的值,但是


webmagic初体验

用Java写爬虫我选了webmagic,原因没别的,比起其他爬虫框架这个知道的早一些。看着文档跟百度鼓捣一天,基本功能是搞定了,写一篇文章记录下使用webmagic的过程和对其的理解,方便日后查阅。WebMagic简单实现爬虫再爬东西之前,先配置好请求头,因为现在网站一般都有反爬虫技术,所以把头弄好