soul
文章平均质量分 86
yanbing007
stay hungry ,stay foolish!
展开
-
Soul网关学习Resilience4j插件体验和源码解读
Soul网关学习resilience4j插件体验和源码解读目标什么是resilience4jsould的resilience4j体验Resilience4J插件源码解读什么是Resilience4jResilience4J是我们Spring Cloud G版本推荐的容错方案,它是一个轻量级的容错库借鉴了Hystrix而设计,并且采用JDK8 这个函数式编程,即lambda表达式相比之下, Netflix Hystrix 对Archaius 具有编译依赖性,Resilience原创 2021-03-15 07:03:37 · 331 阅读 · 0 评论 -
(十七)soul源码的spi使用
(十七)soul的spi使用目标spi是什么spi是什么说明SPI 全称为 Service Provider Interface, 是 JDK 内置的一种服务提供发现功能, 一种动态替换发现的机制.举个例子, 要想在运行时动态地给一个接口添加实现, 只需要添加一个实现即可.如果现在需要对API提供一种新的实现,我们可以不用修改原来的代码,直接生成新的Jar包,在包里提供API的新实现。通过Java的SPI机制,可以实现了框架的动态扩展,让第三方的实现能像插件一样嵌入到系统中Java的原创 2021-02-03 07:30:02 · 229 阅读 · 0 评论 -
(十六)soul源码的自定义插件
((十六)soul的自定义插件目标soul的本身提供的插件soul的本身提供的插件说明插件是 soul 网关的核心执行者,每个插件在开启的情况下,都会对匹配的流量,进行自己的处理。在soul 网关里面,插件其实分为2 类:一类是单一职责的调用链,不能对流量进行自定义的筛选。另一类,能对匹配的流量,执行自己的职责调用链。插件类别单一职责原插件首先需要实现org.dromara.soul.plugin.api.SoulPlugin Mono<V原创 2021-02-01 23:20:05 · 1217 阅读 · 0 评论 -
(十五)soul源码的Resilience4j体验和原理(下)
(十五)sould的Resilience4j体验和原理(下)目标Resilience4JPlugin核心源码解读Resilience4JPlugin核心源码1: doExecute:、从上下文中拿到配置信息,2:Resilience4JHandle是Resilience4J的参数对象类,根据rule值,json转化而来,即拿到我们在admin控制台配置的参数3:circuitEnable:是否开启熔断,配置0:关闭,直接走 rateLimiter方法:处理过程中存在依次则会执行fallba原创 2021-01-31 09:56:05 · 273 阅读 · 0 评论 -
(十四)soul源码的Resilience4j体验和原理
(十四)sould的Resilience4j体验和原理目标什么是Resilience4jsould的Resilience4j体验什么是Resilience4jResilience4J是我们Spring Cloud G版本 推荐的容错方案,它是一个轻量级的容错库借鉴了Hystrix而设计,并且采用JDK8 这个函数式编程,即lambda表达式相比之下, Netflix Hystrix 对Archaius 具有编译依赖性,Resilience4j你无需引用全部依赖,可以根据自己需要原创 2021-01-30 07:14:21 · 396 阅读 · 0 评论 -
(十二)soul源码的divide插件底层原理,负载均衡及ip端口探活
(十二)sould的divide插件底层原理,负载均衡及ip端口探活目标divide插件的类信息divide插件底层原理soul-bootstrap端ip端口探活divide插件的类信息divide的具体使用使用在小节一里有分析了,这里不阐述soul-booostrap依赖包soul-spring-boot-starter-plugin-divide,里面DividePlugin(divide插件),DividePluginDataHandler(divide插件数据处理器),WebSo原创 2021-01-29 07:43:07 · 250 阅读 · 0 评论 -
(十三)soul的springcloud插件底层原理
((十三)sould的springcloud插件底层原理目标springcloud插件底层原理springcloud插件底层原理springcloud插件的具体使用使用在小节三里有分析了,这里不解释启动一个adminadmin和一个网关,两个order-service,一个eureka我们在SpringCloudPlugin的doExecute打断点从SoulWebHandler#execute, SoulWebHandler是插件链的处理器,依次按照order大小依次遍历插原创 2021-01-28 23:10:28 · 259 阅读 · 0 评论 -
(十一)soul网关集群演示
(十一)soul网关集群演示目标admin集群下,各个实例修改配置启动三个soul-admin和两个网关,两个order-service,一个eureka启动三个soul-admin和两个网关(网关需要配置eureka信息) ,如下图注意网关的websocket的urls配置:ws://localhost:9095/websocket,ws://localhost:9096/websocket,ws://localhost:9097/websocket因为我们启动了三个admin实原创 2021-01-27 00:41:00 · 715 阅读 · 1 评论 -
(十)soul源码的zookeeper同步数据
(十)soul网关的zookeeper同步数据目标soul-admin怎么开启zookeeper和初始化相应类soul-bootstrap端怎么获取数据官方提供的流程图soul-admin怎么开启zookeeper和初始化相应类首先本地需要启动zookeeper服务soul-admin的配置,要把websocket注释掉soul: database: dialect: mysql init_script: "META-INF/schema.sql" sync:原创 2021-01-25 16:40:02 · 119 阅读 · 0 评论 -
(九)soul源码的http长轮询同步数据
(九)soul网关的http长轮询同步数据目标soul-admin怎么开启http长轮训和初始化相应类soul-bootstrap的配置和初始化http怎么长时间轮询soul-bootstrap请求admin的接口/configs/listener,具体做什么soul-admin怎么开启http长轮训和初始化相应类怎么开启http长轮训soul-admin的配置soul: database: dialect: mysql init_script: "META-IN原创 2021-01-24 21:56:20 · 202 阅读 · 2 评论 -
(八)soul源码的websocket同步数据源码分析(下)
(八) soul网关的websocket同步数据源码分析(下)目标第七小节主要分析了soul-admin通过websocket发送数据本小节主要分析soul-bootstrap怎么处理websocket发来的数据soul-sync-data-websocket包如下图SoulWebsocketClientWebsocketConfigDataHandler的实现类和抽象类WebsocketSyncDataServicewebsocket接收发来的数据websocketD原创 2021-01-23 18:38:32 · 125 阅读 · 0 评论 -
(七)soul源码网关的websocket同步数据源码分析(上)
(七)soul网关的websocket同步数据源码分析(上)目标SoulClientController的内容WebsocketDataChangedListener分析如下时soul整体架构图如下时soul-admin的数据同步流程图SoulClientController的内容1:一共六个接口:springmvc-register,springcloud-register,springcloud-register,dubbo-register,sofa-register原创 2021-01-23 18:31:44 · 107 阅读 · 1 评论 -
(六)soul源码中SpringCloudClientBeanPostProcessor的postProcessAfterInitialization方法怎么被调用
SpringCloudClientBeanPostProcessor的postProcessAfterInitialization方法怎么被调用的目标接着分析SpringCloudClientBeanPostProcessor的postProcessAfterInitialization方法怎么被调用的接着文章(五)分析SpringCloudClientBeanPostProcessor的postProcessAfterInitialization方法怎么被调用的调用栈关键逻辑1原创 2021-01-21 00:36:02 · 2103 阅读 · 0 评论 -
(五)soul中springcloud数据注册到soul-admin
((五)springcloud数据注册到soul-admin目标springcloud的接口信息获取调用soul-admin源码分析soul-admin的soul-client/springcloud-register具体处理SpringCloudClientBeanPostProcessor的postProcessAfterInitialization方法怎么被调用的springcloud数据注册到soul-admin源码分析 <dependency> <gro原创 2021-01-21 00:34:46 · 269 阅读 · 0 评论 -
(四)soul引入sofa插件使用
(四)soul引入sofa插件使用目标sofa是什么sofa服务接入soul网关soul-bootstrap修改应用服务引入soul验证网关转发sofa是什么sofa全称是 Simple Object-oriented and Flexible Architecturesofa是蚂蚁金服开源的一个高可扩展性、高性能、生产级的 Java RPC 框架sofa-rpc 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的原创 2021-01-18 23:56:44 · 310 阅读 · 0 评论 -
(三)soul中soul-bootstrap引入springcloud插件使用
(三)soul-bootstrap引入springcloud插件使用目标文章主题是如何将springCloud接口,快速接入到soul-bootstrapspringcloud插件和divide插件压测对比springcloud插件压测的jvm数据soul-bootstrap日志都配置OFF测试性能在soul-bootstrap的pom.xml添加依赖请在先soul-admin 后台将 springCloud 插件设置为开启 <dependency> <原创 2021-01-17 12:37:44 · 648 阅读 · 0 评论 -
(二)soul网关转发和springcloud-gateway性能对比
(二)soul网关转发和springcloud-gateway性能对比目标soul网关转发soul-bootStrap和springcloud-gateway性能对比soul网关转发接着上篇内容,我们使用springboot接入soul开启步骤启动soul-bootstrap,soul-admin及order-server都在本地起的话,不需要修改配置,直接启动启动两个order-server实例: 8097,8099第一个插件divide,选择器列表:order-serve 点原创 2021-01-16 12:59:40 · 3727 阅读 · 1 评论 -
(一)soul的入门使用
(一)soul的入门使用目标下载soul源码和编译启动soul-admin接入把springboot应用,接入soul-admin响应式编程下载soul源码和编译github地址:https://github.com/dromara/soul.git,git cloue https://github.com/dromara/soul.git最好fork一份到自己的github账户下,在IDEA上,右键>> git >> Repository >&原创 2021-01-16 12:58:01 · 2602 阅读 · 1 评论