盖娅计划

加强彼此联系,努力实现盖娅星系!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

soul学习16——Sentinel插件学习

发表于 2021-03-15 | 更新于 2021-03-18 | 分类于 soul

概述

在业务网关中熔断和流量控制都是非常必要的功能。soul在实现这部分功能时使用了不同的成熟组件,用户可以根据自己的喜好选择。本文将介绍如何在soul中使用阿里的Sentinel组件实现熔断及流控功能。本文首先会介绍熔断和流控的场景及意义。然后介绍如何在soul上配置使用sentinel插件做流控和熔断。最后从源码的层面简略分析soul是如何使用Sentinel组件的。

阅读全文 »

soul番外1——XSS攻击

发表于 2021-02-01 | 更新于 2021-03-15 | 分类于 soul

概述

网关作为所有服务的大门,应该有一些安全防护的功能,抵御常规的攻击。XSS攻击是非常常见的一种攻击方式。本文将简单介绍XSS攻击并讨论网关应该如何抵御XSS攻击。

阅读全文 »

soul学习15——sign插件学习

发表于 2021-01-30 | 分类于 soul

概述

本文我们只要看下sign插件——业务端验签插件的原理和实现。并讨论下数字签名以及业务层验签。

阅读全文 »

soul学习14——Divide插件学习

发表于 2021-01-29 | 更新于 2021-01-30 | 分类于 soul

概述

前面的一些列文章介绍了soul网关的核心流程以及数据同步这两大最重要的功能逻辑。鉴于后续希望为soul贡献1个插件,所以接下来再学习学习soul中其它核心插件的写法,今天先看看divide插件

阅读全文 »

soul学习13——zookeeper同步数据

发表于 2021-01-28 | 更新于 2021-01-30 | 分类于 soul

概述

前几篇文章介绍了suol用websocket、http长轮询的方式同步数据,今天我们来看看zookeeper同步数据是如何实现的。使用websocket同步数据时,在soul-admin服务端有负责监听数据变化事件的HttpLongPollingDataChangedListener以及负责接收soul网关连接的WebsocketCollector,在soul服务端有实现SyncDataService的WebsocketSyncDataService,负责实现当接收到配置变化。下面我们来对应看看zookeeper这几部分是如何实现的。

阅读全文 »

soul学习12——http长轮询同步数据

发表于 2021-01-27 | 分类于 soul

概述

前两篇文章以websocket同步方式介绍了整个数据同步的流程,今天我们来看看http长轮询同步数据是如何实现的。使用websocket同步数据时,在soul-admin服务端有负责监听数据变化事件的HttpLongPollingDataChangedListener以及负责接收soul网关连接的WebsocketCollector,在soul服务端有实现SyncDataService的WebsocketSyncDataService,负责实现当接收到配置变化。下面我们来对应看看http长轮询这几部分是如何实现的。

阅读全文 »

soul学习11—数据同步主流程(下)

发表于 2021-01-26 | 更新于 2021-01-27 | 分类于 soul

概述

从今天admin端观察一下数据同步。主要看admin是在pluginData数据变更时是如何通知soul网关更新pluginData的数据。

阅读全文 »

soul学习10——数据同步主流程(上)

发表于 2021-01-25 | 更新于 2021-01-30 | 分类于 soul

概述

从今天起开始研究soul数据同步的内容。soul区别于其它网关的一大特点就是动态配置更新功能。所有网关配置在admin上更新后会自动同步到soul网关节点。主要需要同时的数据有3类:auteData、metaData、PluginData,更新方式也有websock、zookeeper、http长轮询、nacos4种。本文旨在梳理数据同步的核心流程,后续着重研究websock、zookeeper和http长轮询的实现细节。

阅读全文 »

soul学习09——插件相关抽象及设计

发表于 2021-01-23 | 更新于 2021-01-24 | 分类于 soul

概述

之前一系列文章讲解了soul网关的核心处理流程。未来的一些列文章将主要完成2个事情。1个是soul的配置同步机制另一个是设计完成一个与安全相关的插件。soul的配置同步机制可以说是与核心处理逻辑同等重要的功能,同样也是soul与spring-gateway、zuul核心的区别与特点。而完成一个安全相关的插件并贡献到社区,也算是对soul学的的一个总结。

本文主要再看看插件设计方面的东西,即soul-plugin-api 与 soul-plugin-base这两个项目, 为后续写插件做准备,同时重点关注数据同步的东西。

阅读全文 »

elasticsearch-ik插件学习(中)

发表于 2021-01-23 | 更新于 2021-01-30 | 分类于 elasticsearch

概述

本系列主要从源码的角度介绍es-IK插件,本文主要从源码层面介绍ik分词的主线逻辑暂不涉及中文分词的逻辑。

阅读全文 »
123…6
Phoenix Luo

Phoenix Luo

骆潇龙开脑洞的地方

56 日志
13 分类
42 标签
© 2022 Phoenix Luo 京ICP备19007490号
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v6.7.0
本站总访问量 次 | 有人看过我的博客啦