自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 2021-05-08

Soul网关将进入Apache基金会孵化器北京时间2021年5月3日,ShenYu项目(原Dromara开源社区的Soul网关)经过Apache Incubator的投票,正式进入Apache基金会的孵化器!未来可期!

2021-05-08 16:39:42 120

原创 Soul源码解析(19)-Soul网关sign插件源码解读

一、目标1、解读Soul网关sign插件签名算法;2、解读sign插件主要业务罗逻处理代码;二、内容2.1 背景上一节,我们一起学习了sign插件的使用,体验了sign插件的主要功能,具体的使用流程可以参考:Soul源码解析(18)-Soul网关sign插件使用:https://blog.csdn.net/qq_38314459/article/details/1136588902.2 SignPlugin插件分析SignPlugin插件继承了AbstractSoulPlugin,这里核心的

2021-02-05 16:29:25 395

原创 Soul源码解析(18)-Soul网关sign插件使用

一、目标学习soul网关sign插件的使用;二、内容2.1 背景sign插件是 soul网关自带的,用来对请求进行签名认证的插件;2.2 sign插件使用启动soul-admin服务,在 soul-admin -> 插件管理中 –> sign插件设置为开启;在认证管理中,点击新增,新增一条 AK/SK。添加时会要求你选择在soul网关注册的下游服务及路径。添加完毕后,我们可以看到AppKey 和加密密钥已经为我们生成好了:在插件列表找到sign插件,新建选择

2021-02-04 17:40:19 1361

原创 Soul源码解析(17)-Soul网关hystrix熔断插件源码解读及hystrix、resilienc4j、sentinel对比

一、目标1、解读熔断插件关键代码,对比各熔断插件;2、排查上一节使用过程中遇到的问题;二、内容2.1背景上一节我们一起学习了Soul网关中hystrix插件的使用,并且在使用的过程中发现了一些问题,这一节我们就一起来学习一下hystrix熔断插件的关键代码实现。对比hystrix插件与其他几个熔断插件。排查使用过程中遇到的问题。有关hystrix插件的使用,可以参考上一节的内容:Soul网关现在支持熔断的插件有:hystrixresilienc4jsentinel2.2 Hystr

2021-02-02 16:49:30 283 1

原创 Soul源码解析(16)-Soul网关熔断插件使用及源码解读

一、目标1、使用Soul网关熔断插件;2、解读熔断插件关键代码;二、内容2.1 背景熔断:在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体的可用性,可以暂时切断对下游服务的调用。这种牺牲局部,保全整体的措施就叫做熔断。Hystrix 是Netflix开源的一款针对分布式系统的延迟和容错库,目的是用来隔离分布式服务故障,以减少不同服务之间资源竞争带来的相互影响。提供了优雅降级机制。提供了熔断机制使服务可以快速失败,而不是一直阻塞等待服务响应,并能快速恢复。

2021-02-02 14:09:44 323

原创 Soul源码解析(15)-Soul网关限流插件源码解读

一、目标搞清楚Soul网关限流插件的运行原理,解读核心业务逻辑代码;二、内容2.1 背景上一节我们一起学习了Soul网关限流插件的使用,这节我们就一起来看一下它背后运行的核心原理及关键代码实现;Soul网关限流插件使用可以参考:2.2 rateLimiter插件源码解析2.2.1 RateLimiterPluginConfiguration解析在Soul-admin开启了RateLimiter插件,并且配置了相关规则,在soul-bootstrap启动之后会自动加载配置类RateLimite

2021-01-31 00:42:22 302

原创 Soul源码解析(14)-Soul网关限流插件使用

今天学习rateLimiter插件的使用,明天分析其背后的原理和代码。

2021-01-30 22:24:39 74 1

原创 Soul源码解析(13)-Soul网关负载均衡源码解读

一、目标1、搞清楚Soul网关负载均衡实现原理;二、内容2.1 背景负载均衡:负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性;常用负载均衡算法:**Round Robin(轮询):**为第一个请求选择列表中的第一个服务器,然后按顺序向下移动列表直到结尾,然后循环。**Least Connections(最小连接):**优先选择连接数最少的服务器,在普遍会话较长的情况下推荐使用。**Hash:**根据请求源的

2021-01-29 10:47:23 194

原创 Soul源码解析(12)-Soul网关SpringCloud插件源码分析

一、目标分析SpringCloud插件源码,理清插件的设计思路和运作原理。二、内容上一节内容,我们一起体验了Soul网关SpringCloud插件的使用。这一节内容,就让我们一起来看一下SpringCloud插件。2.1 springCloud 服务注册到网关先看 SoulSpringCloudClientConfiguration,这是Soul网关SpringCloud插件的配置类@Configurationpublic class SoulSpringCloudClientConfigur

2021-01-28 10:30:33 175 1

原创 Soul源码解析(11)-Soul网关SpringCloud插件使用

一、目标运行Soul网关SpringCloud插件并了解其背后的运行原理。二、内容2.1 背景先一起来了解一下SpringCloud:SpringCloud为开发者提供工具用来快速的构建分布式系统中的某些常见模式(例如,配置管理、服务发现、断路器、智能路由、微代理、控制总线,一次性令牌、全局锁、leader选举、分布式会话、集群状态)。分布式系统的协调导致了样板式样,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。它们可以在任何分布式环境中正常工作,包括开发

2021-01-28 10:23:25 292

原创 Soul源码解析(10)-Soul网关数据同步设计思想

一、目标​ 数据同步是Soul网关非常重要的一块内容,之前我们一起了解了Soul网关四种数据同步方式的运作原理,本节我们就从整体的层面来看一下Soul数据同步的思想,算是对之前学习内容的一个总结。websocket数据同步流程:https://blog.csdn.net/qq_38314459/article/details/112917717zookeeper数据同步流程:https://blog.csdn.net/qq_38314459/article/details/112983448na

2021-01-25 17:36:49 844

原创 Soul源码解析(9)-http长轮询数据同步原理

一、目的使用http长轮询同步数据到网关并了解其运作原理二、内容2.1 背景Soul目前支持四种数据同步模式:HTTP长轮询、Zookeeper、WebSocket、Nacos。今天我们主要是针对http长轮询同步策略进行分析。Soul 借鉴了 Apollo、Nacos 的设计思想,取其精华,自己实现了 http 长轮询数据同步功能。注意,这里并非传统的 ajax 长轮询websocket数据同步流程:https://blog.csdn.net/qq_38314459/article/det

2021-01-23 17:06:06 231

原创 Soul源码解析(8)-nacos数据同步原理

一、目的使用nacos同步数据到Soul网关并了解其运作原理二、内容背景:Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。websocket数据同步流程:https://blog.csdn.net/qq_38314459/article/details/112917717zookeeper数据同步流程:https://blog.csdn.net/qq_38314459/article/deta

2021-01-23 14:21:03 519

原创 Soul源码解析(7)-zookeeper数据同步原理

一、目的使用zookeeper同步数据到Soul网关并了解其运作原理二、内容上一节我们一起了解了Soul网关整体数据同步流程及处理机制、websocket同步数据流程可以参考:https://blog.csdn.net/qq_38314459/article/details/112917717基于 zookeeper 的同步原理很简单,主要是依赖 zookeeper 的 watch 机制,soul-web 会监听配置的节点,soul-admin 在启动的时候,会将数据全量写入 zookee

2021-01-22 14:05:54 185

原创 Soul源码解析(6)-webSocket数据同步原理

Soul源码解析(6)-webSocket数据同步原理一、目的使用websocket同步数据到网关并了解其运作原理二、内容2.1 背景Soul 网关又是如何支持动态配置的呢?Soul目前支持四种数据同步模式:HTTP长轮询、Zookeeper、WebSocket、Nacos。今天我们主要是针对WebSocket同步策略进行分析。同步策略是在下图里的位置配置的下图展示了 Soul 数据同步的流程,Soul 网关在启动时,会从从配置服务同步配置数据,并且支持推拉模式获取配置变更信息,并且更新本地缓

2021-01-21 10:27:43 380

原创 Soul源码解析(5)-响应式编程

Soul源码解析(5)-响应式编程一、目标1、了解Soul网关采用的响应式编程二、内容2.1 背景响应式编程(Reactive Programming)是近几年来非常流行的一个解决方案,比如:Java 8 => 引入Stream流,Observable 和 Observer 模式Spring 5 => 引入WebFlux,底层全面采用了响应式模型RxJava => 随着程序逻辑变得越来越复杂,它依然能够保持简洁2.2 什么是响应式编程?响应式编程是一种基于异步数据流

2021-01-20 18:40:26 228

原创 Soul源码解析(4)-Dubbo插件源码解析

Soul源码解析(4)-Dubbo插件源码解析一、目标解析Dubbo插件源码二、内容Dubbo用户使用教程,可以参考https://blog.csdn.net/qq_38314459/article/details/112760726上一节我们一起体验了Soul网关Dubbo插件的使用,接下来我们就一起来看一下Dubbo插件的相关源码,搞清楚它的关键运作原理和实现机制。跟divide插件一样,AlibabaDubbo插件也是继承了AbstractSoulPlugin,Abstra

2021-01-19 09:38:31 190

原创 Soul源码解析(3)-Dubbo用户使用及divide插件源码分析

MM01-0116作业Soul网关功能-Dubbo用户使用及divide插件源码分析本次目标:体验Soul网关dubbo使用及divide插件分析说明:dubbo插件是将http协议 转换成dubbo协议 的插件,也是网关实现dubbo泛化调用的关键;ubbo插件需要配合元数据才能实现dubbo的调用;apache dubbo 和 alibaba dubbo用户,都是使用该同一插件;登录管理后台,找到插件管理,把dubbo插件状态改为开启;在项目pom文件中引入以下依赖 <

2021-01-18 00:49:19 215

原创 Soul源码解析(2)-Soul单机部署及功能体验

Soul单机部署及功能体验本次目标:搭建一个Soul本地环境,启动Soul Admin管理服务和soul-bootstrap服务,体验Soul基本功能1、环境IntelliJ IDEA 2020.3.1、JDK1.8、MySQL8.0(推荐使用MySQL5.x)Soul源码下载及编译,请参考:https://blog.csdn.net/qq_38314459/article/details/1126451662、Soul Admin安装2.1 Soul Admin介绍Soul Admin 控制

2021-01-16 01:25:16 656

原创 Soul源码解析(1)-Soul API网关介绍及环境搭建

Soul API网关介绍及环境搭建一、Soul网关介绍​ Soul是一个异步、高性能、跨语言、响应式API网关系统,提供统一的HTTP访问。无缝支持dubbo、Spring cloud和丰富的插件。可以实现限流、熔断、代理转发等功能。​ 几个突出的功能:跨语言,支持所有的语言;支持动态配置,所有的配置规则可以动态的配置并立刻生效、不用重启服务;丰富的插件、插件热插拔、支持自定义开发;高可用、高并发,支持聚群部署;项目地址:1、 GitHub:https://github.com/dr

2021-01-14 23:58:10 995

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除