2021年3月2日

摘要: 1.运行 context-path 插件 我们在使用 soul 网关时,yml 文件里就配置了 contextPath,不过我们可以使用 context_path 插件进行重写,这也体现了 soul 网关的灵活配置 登录 soul-admin 开启 context-path 插件,选择器规则配置如下 阅读全文
posted @ 2021-03-02 14:32 fightingting 阅读(271) 评论(0) 推荐(0) 编辑
 
摘要: 登录 soul-admin,开启 waf 插件。 官网上的这两句很重要,waf 插件源码的实现也是根据这两句话来的。 当 module 设置为 black 模式的时候,只有匹配的流量才会执行拒绝策略,不匹配的,直接会跳过。 当 module 设置为 mixed 模式的时候,所有的流量都会通过 waf 阅读全文
posted @ 2021-03-02 14:29 fightingting 阅读(142) 评论(0) 推荐(0) 编辑
 
摘要: 参考 soul 官方文档,sign插件 1.启动 soul-admin, 开启 sign 插件,添加 sign 插件的选择器和规则,这里和 divide 插件的一致 2.soul-bootstrap 引入依赖,启动 soul-bootstrap,启动 soul-examples-http <depe 阅读全文
posted @ 2021-03-02 14:27 fightingting 阅读(572) 评论(0) 推荐(0) 编辑
 
摘要: Java8 新出的 stream 流操作集合的,每次想使用时,虽然知道有这个功能,但一时想不出来怎么写,网上查有时候不太好查,因此自己来写一篇总结贴。 我们新建一个类 Student。 @Data @AllArgsConstructor public class Student { private 阅读全文
posted @ 2021-03-02 14:25 fightingting 阅读(783) 评论(0) 推荐(0) 编辑

2021年2月7日

摘要: spring框架刚出来的时候,我们基本都是在 xml文件里配置bean的,那么spring框架是如何解析xml 里内容的呢,今天我们就从一句代码着手,一步步来分析。 spring框架的其中一大特性IOC,讲的就是把bean的创建交给spring框架来做,这样能保证类之间互相引用时,不需要 new 一 阅读全文
posted @ 2021-02-07 15:21 fightingting 阅读(670) 评论(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 阅读(338) 评论(0) 推荐(0) 编辑
 
摘要: springcloud ,divide 插件跑通后,今天再 debug下 详细的流程。 这里可以看到 springCloud 插件,divide 插件都是在 webClientPlugin 插件之后执行的。 首先来看下插件的继承结构,soulPlugin 接口定义了这几个方法,而每个插件具体的类都实 阅读全文
posted @ 2021-02-07 15:08 fightingting 阅读(225) 评论(0) 推荐(0) 编辑