soul
文章平均质量分 93
evasnowind
关注java,分布式开发,微服务
展开
-
soul源码分析总结篇之数据同步
如果没有看之前文章的朋友,请至少先看阅读源码准备与soul基础本文将包括如下内容:soul中数据同步的基本设计思路soul中数据同步各种方式的总结与对比本文内容参考了官方文档 数据同步设计 (这篇必读!!!),以及这篇文章 soul源码解读(十一)-- 数据同步总结基本设计思路首先,soul-admin将各种数据变更同步给soul-bootstrap时,按照我的个人理解,需要做到:高可用例如要考虑断线重连配置修改能立即生效,不必重启服务应提供多种选择,方便不同环境下部署使用原创 2021-02-09 15:06:19 · 613 阅读 · 1 评论 -
soul源码分析(5)Hystrix插件
说明本文代码基于soul 2021.2.8 master分支版本。准备请先阅读soul官方用户文档 -> Hystrix插件,选择器规则详解目标本文将包括如下内容:如何使用Hystrix插件分析soul相关源码如何使用Hystrix?这一点官方文档写的很清楚,要在soul中使用Hystrix插件,需要:在soul-admin中:插件管理 -> hystrix,设置为开启。插件管理 -> hystrix 中添加selector、rule,此处务必阅读官方文档原创 2021-02-09 13:45:51 · 311 阅读 · 0 评论 -
soul源码分析(4)divide插件如何实现负载均衡与探活
说明本文代码基于soul 2021.2.4 master分支版本。准备请先阅读soul官方用户文档 -> HTTP代理, 并事先使用过divide插件,阅读过divide插件源码,源码分析可以参考我之前写过的文章:soul源码分析(1)http插件的使用与soul插件工作流程分析目标本文将包括如下内容:divide插件如何实现负载均衡divide插件如何实现端口探活divide插件如何实现负载均衡?看过的divide插件源码的童鞋知道,该插件主要逻辑在DividePlugin中:原创 2021-02-08 17:39:05 · 234 阅读 · 0 评论 -
soul源码分析数据同步篇之HTTP长轮询同步流程
说明本文代码基于soul 2021.2.4 master分支版本。准备请先阅读soul官方文档 数据同步原理,对soul数据同步原理有个基本的了解。如何开启HTTP同步策略这个小节主要引自soul官网 使用不同的数据同步策略soul-admin的配置application.yml中添加如下配置,或是在启动参数中添加--soul.sync.http='',然后重启服务:soul: sync: http: enabled: truesoul-bootstrap的原创 2021-02-08 15:58:21 · 384 阅读 · 0 评论 -
soul源码分析数据同步篇之zookeeper同步流程
说明本文代码基于soul 2021.2.4 master分支版本。准备请先阅读soul官方文档 数据同步原理,对soul数据同步原理有个基本的了解。如何开启zookeeper同步策略soul-admin的配置application.yml中添加如下配置,或是在启动参数中添加--soul.sync.zookeeper.url=你的zk地址,然后重启服务:soul: sync: zookeeper: url: localhost:2181 session原创 2021-02-06 15:32:53 · 224 阅读 · 0 评论 -
soul源码分析数据同步篇之WebSocket同步流程
说明本文代码基于soul 2021.1.27 版本。准备请先阅读soul官方文档 数据同步原理,对soul数据同步原理有个基本的了解。WebSocket同步流程1. soul-bootstrap WebSocket客户端处理逻辑soul-admin启动日志有关WebSocket的就一句:2021-01-27 19:54:29.694 INFO 30448 --- [0.0-9095-exec-1] o.d.s.a.l.WebSocket.WebSocketCollector : WebS原创 2021-01-28 13:33:13 · 251 阅读 · 0 评论 -
soul源码分析(3)SpringCloud服务如何接入soul以及SpringCloud插件分析
soul源码分析(3)SpringCloud服务如何接入soul以及SpringCloud插件分析说明本文将包括如下内容:如何将SpringCloud服务接入soulsoul的SpringCloud插件源码分析本文将以2021.1.25的soul源码进行分析。1. 如何将SpringCloud服务接入soul1.1 配置soul网关、soul-admin(1)启动soul-admin后台,操作步骤可以参考本系列第一篇文章阅读源码准备与soul基础(2)在soul-admin后台原创 2021-01-27 17:55:51 · 278 阅读 · 0 评论 -
soul源码分析(2)dubbo服务如何接入soul以及dubbo插件分析
说明本文将包括如下内容:如何将dubbo服务接入soulsoul的dubbo插件源码分析以soul2021.1.25代码做分析。apache dubbo与alibaba dubbo类似,本文只会分析apache dubbo。1. 如何将dubbo服务接入soul1.1 配置soul网关、soul-admin(1)启动soul-admin后台,操作步骤可以参考本系列第一篇文章阅读源码准备与soul基础(2)在soul-admin后台将dubbo插件打开路径:System Ma原创 2021-01-26 16:49:01 · 443 阅读 · 0 评论 -
soul源码分析总结篇之插件化设计
soul源码分析总结篇之插件化设计说明如果没有看之前文章的朋友,请至少先看阅读源码准备与soul基础本文将包括如下内容:soul用插件实现了哪些功能?soul如何实现插件化设计?Soul用插件实现了哪些功能?插件是Soul的灵魂。从架构图上就可以看出,soul主要功能都是通过插件来实现的,比如监控、各种请求的转发(HTTP、Dubbo、SpringCloud、Sofa等)、限流与熔断、WAF等等,用户也可以自定义插件来扩展soul。截止到2021.1.26,目前支持的插件如下(参原创 2021-01-26 15:04:41 · 394 阅读 · 0 评论 -
soul源码分析(1)http插件的使用与soul插件工作流程分析
目标演示soul网关HTTP插件的使用分析soul插件的整体工作流程,1. HTTP插件的使用1.1 在soul-bootstrap项目中引入如下插件,然后重新启动soul网关,启动步骤参见 soul源码分析_0_阅读源码准备与soul基础 <!--if you use http proxy start this--> <dependency> <groupId>org.dromara</groupId> &l原创 2021-01-22 19:45:19 · 378 阅读 · 1 评论 -
soul源码分析(0)阅读源码准备与soul基础
soul源码分析(0)阅读源码的准备与预备知识目标fork代码本地编译成功启动网关soul基础fork代码github fork到自己的repo,然后在本地:git clone https://github.com/evasnowind/soulcd soulgit branch --set-upstream-to=origin/master由于目前master分支在不断迭代、开发中,个人建议可以先拉取一个稳定的版本,方便阅读。git fetch origin 2.2.1:原创 2021-01-21 15:23:09 · 362 阅读 · 1 评论