网关限流-API 分组维度|学习笔记

简介: 快速学习网关限流-API 分组维度

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第三阶段网关限流-API 分组维度】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/685/detail/11896


网关限流-API 分组维度

内容介绍

一、简介

二、编写代码


一、简介

Sentinnle 对于 gateway 第一种维度的限流,也是基于路由维度的限流。

第二个维度的限流是自定义 API 维度,是一种更加灵活的维度,它允许我们利用Sentinnle 提供的 API,将请求路径分成对应的 API 分组,在组上设置限流规则即可。

自定义 API 分组其实是一种更细粒度的限流规则定义,允许我们将规则定义在分组上,而分组里面放的是请求路径。


二、编写代码

//自定义 API 分组

@PostConstruct

private void initCustomizedApis()

set definitions = new HashSet>();

ApiDefinition apil = new ApiDefinition("product_api1")

.setPredicateItems(new HashSet() f

//以/product-serv/product/api1开头的请求

add(new ApiPathPredicateItem().setPattern("/product-

serv/product/api1/**").

setMatchStrategy(SentinelGatewayConstants.URL_MATCH_STRATEGY_PREFIX));1);

ApiDefinition api2 = new ApiDefinition("product_api2")

.setPredicateItems(new HashSet() f

//以/product-serv/product/api2/demo1 完成的ur1路径匹配

add(new ApiPathPredicateItem().setPattern("/product-

serv/product/api2/demo1"));

]);

definitions.add(api1);

definitions.add(api2);

GatewayApiDefinitionManager.loadApiDefinitions(definitions);

在这个代码里,首先定义了两个分组,

第一个分组是以/product-serv/product/api1,里面可以放多个请求路径规则。

第二个分组是product-serv/product/api2/demo1 ,里面整个匹配在demo1 中。

接下来在两个分组里设置规则:

//配置初始化的限流参数

@PostConstruct

public void initGatewayRules()(

Set rules = new HashSet<>();

rules.add(

new GatewayFlowRule("product_zoute")//资源名称,对应路由id

.setCount(1)//限流國值

.setIntervalSec(1)//统计时间窗口,单位是秒,默认是1秒

);

GatewayRuleManager.loadRules(rules);

Set rules = new Hashset<>();rules.add(new GatewayFlowRule( resource:"product pil").setCount(1).setIntervalSec(1));

rules.add(new GatewayFlowRule( resource:"product api2").setCount(1).setIntervalSec(1));

GatewayRuleManager.loadRules(rules);

添加新的方法,对应好四个请求路径。

public classProductController (

@Autowired

private ProductService productService;

@RequestMapping("/product/api1/demo1")

public String demo1()

return "demo";

@RequestMapping("/product/api1/demo2")

public String demo2() (

return "demo";

@RequestMapping("/product/api2/demo1")

public String demo3()(

return "demo";

@ReqüestMapping("/product/api2/demo2")

public String demo4() (

return "demo";

重新启动,看看效果,写一下访问路径,依次访问四个路径,发现都被限流了。

相关文章
|
2月前
|
缓存 自然语言处理 API
阿里巴巴国际站关键字搜索 API 实战:3 步搞定多语言适配 + 限流破局,询盘量提升 40%
跨境电商API开发常陷合规、多语言、限流等坑。本文详解从国际合规(GDPR/CCPA)到参数优化、数据结构化及区域化搜索的全链路方案,附Python代码模板与缓存重试架构,助力提升调用成功率至99%+,精准询盘增长42%。
|
6月前
|
人工智能 安全 API
Agent 工程师绕不开的必修课:API 网关 vs API 管理
本文探讨了“API管理”与“API网关”的起源、发展及差异,二者分别服务于API生命周期的不同阶段。API网关从流量网关演进至AI网关,承担运行时请求控制;API管理则从接口文档化发展到商业化平台,关注全生命周期治理。两者在实际应用中协同工作,通过分层架构和策略联动实现高效运营。未来,随着大模型应用的兴起,AI网关和MCP Server管理将成为新趋势,推动API技术迈入智能化和服务化的新阶段。
Agent 工程师绕不开的必修课:API 网关 vs API 管理
|
3月前
|
人工智能 算法 搜索推荐
拼多多:通过用户分组API实施差异化营销策略,提高客单价
拼多多通过用户分组API实现差异化营销,精准提升客单价。基于用户行为数据自动分类,针对不同群体推送专属优惠,如高频用户推高端商品、新用户送礼包、低频用户唤醒激励。结合满减、捆绑销售等策略,有效提高单笔订单金额。该策略提升营销效率,增强用户粘性,助力平台实现数据驱动的可持续增长。
250 0
|
5月前
|
人工智能 前端开发 jenkins
2025 API 开发管理工具 Apipost 与 Apifox 全维度对比
本文深入对比了 Apipost 与 Apifox 两款 API 开发管理工具在设计、调试、文档管理、Mock 服务、离线支持、AI 能力及 CI/CD 集成等方面的优劣,全面评估其适用场景,为研发测试团队提供选型参考。
443 5
|
5月前
|
缓存 边缘计算 前端开发
从业务需求到技术栈:电商API选型RESTful还是GraphQL?这5个维度帮你决策
在数字经济时代,电商平台的竞争已延伸至用户体验与系统效能。作为连接前后端及各类服务的核心,API接口的架构设计至关重要。本文对比RESTful与GraphQL两大主流方案,从电商场景出发,分析两者的技术特性、适用场景与选型逻辑,帮助开发者根据业务需求做出最优选择。
|
11月前
|
监控 Cloud Native 安全
基于 API 网关践行 API First 开发实践
API First 开发模式的核心在于:以 API 为先,将其视为“头等公民”,在构建应用、服务及集成之前,应优先定义并设计 API 及其配套。API First 作为一种相对较新的开发模式,它已逐渐流行并获得业内的广泛认可。
566 156
|
人工智能 监控 负载均衡
一文详述:AI 网关与 API 网关到底有什么区别?
近年来,AI发展迅猛,大模型成为推动业务创新的关键力量。企业面临如何安全管理和部署AI应用的挑战,需设计既能满足当前需求又可适应未来发展的基础架构。AI网关应运而生,在集成、管理和优化AI应用中扮演重要角色。本文探讨AI网关与API网关的区别,分析AI系统为何需要专门网关,并提供选择合适AI网关的建议。AI网关不仅支持多种模型,还具备高级安全性和性能优化功能,有助于企业在复杂环境中灵活应用AI技术。
643 1
|
10月前
|
数据采集 监控 搜索推荐
深度解析淘宝商品详情API接口:解锁电商数据新维度,驱动业务增长
淘宝商品详情API接口,是淘宝开放平台为第三方开发者提供的一套用于获取淘宝、天猫等电商平台商品详细信息的应用程序接口。该接口涵盖了商品的基本信息(如标题、价格、图片)、属性参数、库存状况、销量评价、物流信息等,是电商企业实现商品管理、市场分析、营销策略制定等功能的得力助手。
|
9月前
|
数据采集 数据挖掘 API
深挖京东商品详情 API:一键获取全维度商品数据
京东商品详情API是京东开放平台为开发者提供的关键接口,支持通过编程方式获取商品详细信息,包括基本信息、描述、规格和用户评价等。该API数据全面、实时性强、稳定性高且灵活可定制,满足多场景需求。示例代码展示了如何用Python调用此API,帮助开发者快速集成京东商品数据到自身系统中,实现高效的商品数据分析与应用开发。体验链接:c0b.cc/R4rbK2 。