2021年2月7日

摘要: spring框架刚出来的时候,我们基本都是在 xml文件里配置bean的,那么spring框架是如何解析xml 里内容的呢,今天我们就从一句代码着手,一步步来分析。 spring框架的其中一大特性IOC,讲的就是把bean的创建交给spring框架来做,这样能保证类之间互相引用时,不需要 new 一 阅读全文
posted @ 2021-02-07 15:21 fightingting 阅读(672) 评论(0) 推荐(0) 编辑
 
摘要: hystrix插件是用来做熔断的,服务熔断就是当A服务去调用B服务,如果A服务迟迟没有收到B服务的响应,那么就终断当前的请求,而不是一直等待下去,一直等待下去的结果就是拖垮其它的服务。当系统发生熔断的时候,我们还要去监控B服务,当B服务恢复正常使用时,A服务就发起重新调用的请求。 首先在 soul- 阅读全文
posted @ 2021-02-07 15:13 fightingting 阅读(117) 评论(0) 推荐(0) 编辑
 
摘要: 上一篇跑通了 rate_limiter 插件,今天来看下它是怎么实现的。 soul 的 rate_limiter 限流使用的是令牌桶算法,这里先看下什么是令牌桶算法。 主要有两个字段,capacity 是令牌桶的容量,即可以保存的最大令牌数,rate 是每秒往令牌桶放的令牌,如果令牌桶满了,就把令牌 阅读全文
posted @ 2021-02-07 15:11 fightingting 阅读(129) 评论(0) 推荐(0) 编辑
 
摘要: 今天使用下 rate_limiter 插件。 开启 redis,启动 soul-admin,soul-bootstrap,soul-examples-http,开启 divide 插件和 rate_limiter 插件。 先看下插件链的执行顺序。skip和未开启的插件就不讲了。 GlobalPlug 阅读全文
posted @ 2021-02-07 15:10 fightingting 阅读(232) 评论(0) 推荐(0) 编辑
 
摘要: 根据soul官方文档的指引,Sofa接入soul网关,启动完 soul-admin,soul-bootdtrap,再去启动 TestSofaApplication 时报连接错误,看了下是因为没启动 zookeeper,zookeeper 开启后 ,就成功运行了 sofa插件,但使用网关访问时报这个错 阅读全文
posted @ 2021-02-07 15:09 fightingting 阅读(340) 评论(0) 推荐(0) 编辑
 
摘要: springcloud ,divide 插件跑通后,今天再 debug下 详细的流程。 这里可以看到 springCloud 插件,divide 插件都是在 webClientPlugin 插件之后执行的。 首先来看下插件的继承结构,soulPlugin 接口定义了这几个方法,而每个插件具体的类都实 阅读全文
posted @ 2021-02-07 15:08 fightingting 阅读(230) 评论(0) 推荐(0) 编辑
 
摘要: springcloud ,divide插件都能跑通了,现在就看下请求是如何转发的。 从调用栈可以看到,程序进来的入口类是 SoulWebHandler。 后面在 AbstractSoulPlugin 中,遍历 plugin list,一个个去调用开启的插件。这就是传说中的责任链模式了。责任链模式是行 阅读全文
posted @ 2021-02-07 15:06 fightingting 阅读(164) 评论(0) 推荐(0) 编辑
 
摘要: 运行soul 项目下的 spring cloud example 1.首先启动 soul-admin,登录后,在插件列表开启 springcloud 插件 2.soul-bootstrap 引入 springCloud 相关依赖,这里使用的注册中心是 eureka,所以也要引入 eureka 依赖。 阅读全文
posted @ 2021-02-07 15:05 fightingting 阅读(156) 评论(0) 推荐(0) 编辑
 
摘要: 使用 nacos 进行数据同步时,首先 soul-admin 的 application.yml 文件配置使用 nacos 同步 sync: # websocket: # enabled: true # zookeeper: # url: localhost:2181 # sessionTimeou 阅读全文
posted @ 2021-02-07 15:04 fightingting 阅读(419) 评论(0) 推荐(0) 编辑
 
摘要: 数据同步的几种方式也看的差不多了,还剩下 http 长轮询,我准备先搁置下,今天简单写个总结贴,明天再分析下 nacos 同步,接下来就重点看网关是如何使用调用链转发请求的了。 数据同步的处理是在每个 listener 里面,这些 listener 都实现了接口 DataChangedListene 阅读全文
posted @ 2021-02-07 15:03 fightingting 阅读(205) 评论(0) 推荐(0) 编辑
 
摘要: 昨天只是简单看下 nacos 同步那块代码,今天准备跑起来看看。 首先从官网下载 nacos,nacos 下载很方便,这是 windows 下载地址。 下载解压到一个目录,当前目录打开 cmd 窗口,运行 startup.cmd -m standalone,就可以启动 nacos 了,启动完成,浏览 阅读全文
posted @ 2021-02-07 15:00 fightingting 阅读(199) 评论(0) 推荐(0) 编辑