小码农叔叔
这个作者很懒,什么都没留下…
展开
-
【微服务】SpringBoot整合Resilience4j使用详解
SpringBoot整合Resilience4j使用详解原创 2024-03-10 17:03:38 · 7550 阅读 · 229 评论 -
【微服务】springboot 通用限流方案设计与实现
springboot限流方案总结原创 2023-06-24 16:35:38 · 8090 阅读 · 184 评论 -
【云原生网关】apisix使用详解
apisix使用详解原创 2023-04-18 20:35:31 · 8327 阅读 · 186 评论 -
【云原生网关】Kong 使用详解
云原生网关kong使用详解原创 2023-05-02 21:03:15 · 5148 阅读 · 207 评论 -
【云原生网关】Apache ShenYu 使用详解
apache shenyu使用总结原创 2023-06-07 20:22:08 · 3613 阅读 · 153 评论 -
redis+lua实现分布式限流
前言之前在限流的基本解决方案中我们提到了在分布式环境下,可以使用redis搭配lua进行限流,和网关层不同的是,基于Redis+Lua的分布式限流属于服务端的限流为什么使用redis做限流呢?性能前面的章节中大家已经系统学习了Redis,作为缓存组件,如果不采用持久化方案的话,Redis的大部分操作都是纯内存操作,性能十分优异线程安全只用单线程承接网络请求(其他模块仍然多线程),天然具有线程安全的特性,而且对原子性操作的支持非常到位高并发限流服务不仅需要承接超高QPS,还需要保证原创 2020-09-23 22:18:41 · 21963 阅读 · 1 评论 -
Sentinel配置规则持久化
前言在上一篇,我们讲解了基于springboot与Sentinel的整合与使用,但是有个很明显的问题就是,一旦服务重启,当前配置的针对某个接口的规则就丢掉了,然后就需要重新再配一遍,这就很坑爹了,如果开发中需要配置的接口太多,这样岂不是让人疯掉因此需要一个地方来保存dashboard中配置的规则,Sentinel提供了多种持久化的方案,可以集成redis,mysql等,这里为了演示方便,而且与springcloud-alibaba一整套微服务框架无缝集成,使用nacos做规则的保存,下面来看具体的使用步原创 2020-11-01 10:53:31 · 5427 阅读 · 9 评论 -
微服务网关总结之 —— zuul
前言随着微服务的盛行和广泛的使用,选择一套完整的微服务架构解决方案是作为技术选型的前置条件,不管是基于dubbo的或是spring-cloud,还是基于alibaba的升级版cloud的微服务,应用都越来越成熟,在微服务生态中,网关作为服务治理的必不可少的一个组件,在实际生产中的价值得到了越来越高的重视,占据着很重要的地位网关的位置在整个微服务链条上属于nginx之后,后端微服务之前,属于中间层,如果把nginx也考虑进来的话,从某种意义上也可以算做是网关,但nginx更多起到的作用是作为后端请求的流量原创 2020-09-12 16:36:35 · 778 阅读 · 0 评论 -
基于gateway网关实现限流
前言在前面的限流方案介绍中,我们谈到了网关在微服务体系架构中的重要作用,网关不经具备大家熟知的动态路由,请求拦截等功能外,还可以基于网关实现分布式环境下的限流,下面我们以gatway为例,用代码进行实现一下实现原理所有经过网关代理的请求会被网关进行拦截基于拦截到的请求,可以以IP、请求参数、方法名等作为限流的维度既然是限流,必然存在一个存储请求信息的地方,我们这里选用redis,简单高效,只需配置一定的策略即可代码实现逻辑1、添加pom依赖 <dependency>原创 2020-09-29 19:42:16 · 7259 阅读 · 0 评论 -
微服务网关总结之 —— Gateway
前言在上一篇我们聊了下zuul作为微服务网关的简单使用,本节继续探讨一下微服务中的另一个网关Gateway为什么使用Gateway既然zuul已经提供了很强大而且灵活的网关功能了,为什么还要考虑Gateway呢?这个问题成为很多技术选型者的苦恼,其实这个很好解释,Gateway作为后出来的新一代网关,在功能吸收了zuul的基础上,底层做了更多的优化,并扩展了zuul的功能,最为核心的是,Gateway的底层通信采用了异步非阻塞的netty,相比目前的zuul的1.X版本,这个优势是明显的,可能因为这一原创 2020-09-13 21:44:32 · 1744 阅读 · 3 评论 -
Gateway网关鉴权
前言说起鉴权,大多数会立马想到各种鉴权的技术,比如过滤器、拦截器、安全治理框架shiro、spring-security等等,它们在不同的业务场景下发挥的作用各不相同,但是总体来说都有一个相似的作用,就是作为后端服务的安全防护层而在微服务架构越加流行的时代,网关作为一个独立的组件从众多的服务中拆分出来作为架构的一部分,承载着重大的作用,比如安全拦截,动态路由,负载均衡等,这一点之前的zuul和gateway篇章中都有所交代一个被大家逐渐接受的共识就是,网关从微服务中独立出来作为一个服务进行治理,就不单原创 2020-09-17 23:03:39 · 8548 阅读 · 8 评论 -
Java 常用限流算法解析
前言限流作为高并发场景下抵挡流量洪峰,保护后端服务不被冲垮的一种有效手段,比如大家熟知的限流组件guawa,springcloud中的Hystrix,以及springcloud-alibaba生态中的Sentinel,甚至是基于网关的限流,比如在nginx中配置限流策略,在gateway中配置限流策略等限流无处不在,既然限流的作用如此强大,那么其底层的实现原理如何呢,说到底,限流的核心是由一系列不同的算法完成,本篇将通过实例来说明下常用的几种限流算法的用法和原理1、计数器算法计数器算法限流是采用简单原创 2021-08-21 17:48:50 · 16809 阅读 · 6 评论 -
Java限流及常用解决方案总结
前言说到限流,想必大家都不陌生,一个很简单的例子就是,在12306上面买票的时候,遇到某时刻开始抢票的时候,经常页面会弹出一个类似请稍后重试的提示,从后端的技术层面来看,大概有2层解释,第一是服务器担心扛不住瞬时的高并发流量被拖垮而快速响应,另一个就是对当前的这个请求做了限流限流基本概念结合大家过往经验,不难理解“限流”的含义,对一般的限流场景来说它具有两个维度的信息:时间 限流基于某段时间范围或者某个时间点,也就是我们常说的“时间窗口”,比如对每分钟、每秒钟的时间窗口做限定资源 基于可用资源的原创 2020-09-20 11:43:42 · 7552 阅读 · 0 评论 -
Java限流之 —— Guawa
前言在上一篇,我们聊了下限流相关的概念和常用的限流解决方案,本篇我们先从最简单的限流组件Guawa开始关于Guawa的介绍,我们上一篇有过简单的介绍,这里不再过多说明,直接从撸码开始吧1、pom导入guawa依赖包 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId>原创 2020-09-20 13:33:34 · 16064 阅读 · 2 评论 -
Java限流之 —— Nginx限流
前言在之前的篇章中,我们谈到了限流的解决方案之一,使用网关进行限流的解决方案,而在众多的网关中,Nginx作为一款高性能、轻量级的组件,也提供了强大的可以配置的限流功能,下面我们就基于Nginx看看它是如何实现限流的吧前置环境准备准备一个nginx的服务为演示方便,这里直接在window下快速启动一个nginx服务解压nginx的安装包后,进入该目录,或者通过cmd命令行窗口,直接使用下面的命令启动nginx即可:nginx.exe 或 start nginx启动成功后,由于nginx默认原创 2020-09-20 15:50:11 · 15521 阅读 · 0 评论 -
Java限流之 —— Sentinel初识
前言在之前的篇章中,我们聊到了限流的常用解决方案,基于限流衍生出了一些适合在并发场景下的解决方案,常用的像单机模式下的guawa限流,基于原生的限流算法如漏桶、令牌桶等封装出限流逻辑,redis+lua限流,甚至可以利用nginx做限流等,但是在微服务越来越普遍,微服务的治理和治理场景也越加复杂的环境下,对于限流的治理也难说通过单一的维度能达到一劳永逸的效果,通常是根据业务的不同,在不同的微服务模块下使用不同的限流解决方案,通用的办法就是,nginx + 网关 + 后端应用 进行配合的多级限流,至少这是原创 2020-10-31 17:10:06 · 2678 阅读 · 0 评论 -
springboot集成与使用Sentinel
在上一篇中,我们初步了解了Sentinel的基本概念,以及其有关限流方面的基础理论,本篇将通过简单的与框架进行整合,看看Sentinel如何在实际项目中进行使用。原创 2020-10-31 23:20:48 · 9940 阅读 · 1 评论 -
基于springcloud一套可落地实施的安全认证框架整合
前言现如今,微服务盛行,主流的微服务可落地实施的治理方案目前市面使用比较多的主要有2种,一种是基于dubbo的,辅助其他的技术栈组合,另一种是基于springcloud的(或者springcloud-alibaba),结合在实际工作和项目中的使用总结,分享一套结合springcloud的可落地实施的安全认证框架整合框架技术栈springcloud + spring-security,拆分开来就是,eureka + gateway + spring-security + rediseureka :原创 2021-05-23 22:03:28 · 12399 阅读 · 21 评论