如何创建免费书画网站并利用十大网络平台进行推广?
摘要:免费书画网站怎么做的,十大网络平台,企业名称注册查询官网入口,大数据营销软件在频繁的网络请求时,服务有时候也会受到很大的压力,尤其是那种网络攻击,非法
免费书画网站怎么做的,十大网络平台,企业名称注册查询官网入口,大数据营销软件在频繁的网络请求时#xff0c;服务有时候也会受到很大的压力#xff0c;尤其是那种网络攻击#xff0c;非法的。这样的情形有时候需要作一些限制。本文主要介绍了两种限流方法#xff0c;感兴趣的可以了解一下
目录 一、实战基于 Spring cloud Gateway 的限流 二、基于阿…在频繁的网络请求时服务有时候也会受到很大的压力尤其是那种网络攻击非法的。这样的情形有时候需要作一些限制。本文主要介绍了两种限流方法感兴趣的可以了解一下
目录 一、实战基于 Spring cloud Gateway 的限流 二、基于阿里开源限流神器Sentinel
在频繁的网络请求时服务有时候也会受到很大的压力尤其是那种网络攻击非法的。这样的情形有时候需要作一些限制。例如限制对方的请求这种限制可以有几个依据请求IP、用户唯一标识、请求的接口地址等等。
当前限流的方式也很多Spring cloud 中在网关本身自带限流的一些功能基于 redis 来做的。同时阿里也开源了一款限流神器 Sentinel。今天我们主要围绕这两块来实战微服务的限流机制。
首先讲 Spring cloud 原生的限流功能因为限流可以是对每个服务进行限流也可以对于网关统一作限流处理。
一、实战基于 Spring cloud Gateway 的限流
pom.xml引入依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis-reactive/artifactId/dependency
其基础是基于redis所以
spring: application: name: gateway-service redis: #redis相关配置 database: 8 host: 10.12.15.5 port: 6379 password: 123456 #有密码时设置 jedis: pool: max-active: 8 max-idle: 8 min-idle: 0 timeout: 10000ms
接下来需要注入限流策略的 bean
PrimaryBean(value ipKeyResolver)KeyResolver ipKeyResolver() {return exchange - Mono.just(exchange.getRequest().getRemoteAddress().getHostName());//return exchange - Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress());//return exchange - Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress());}Bean(value apiKeyResolver)KeyResolver apiKeyResolver() {return exchange - Mono.just(exchange.getRequest().getPath().value());}Bean(value userKeyResolver)KeyResolver userKeyResolver() {return exchange - Mono.just(exchange.getRequest().getQueryParams().getFirst(userId));}
这里引入ipKeyResolver、apiKeyResolver、userKeyResolver三种策略可以利用注解 Primary 来决定其中一个被使用。
