[开源]一个轻量级本地化热点检测/降级框架,适用于大流量场景

开源系统流程管理
2026-06-28 04:50 1 次浏览 • 0 次下载 0KB
[开源]一个轻量级本地化热点检测/降级框架,适用于大流量场景

一、开源项目简介

Akali(阿卡丽)是一个轻量级本地化热点检测/降级框架,适用于大流量场景,可轻松解决业务中超高流量的并发查询等场景。并且接入和使用极其简单,10秒钟即可接入使用!

Akali框架的理念就是小巧,实用,来无影去无踪,丝血团战,满血退场,所到之处,皆为虚无。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

 

图片

 

 

四、功能概述

特性

热点检测

自动根据QPS或者Thread数目来本地化检测热点

热点处理

自动用热点数据进行返回,热点消失后可自动摘除

降级检测

自动根据QPS或者Thread数目来检测是否降级

降级处理

可根据方法名进行定义降级方法

轻量小巧

整体框架不足500行代码,对系统消耗量极小

接入快速

整体一共2个标注,标注上即可使用

五、技术选型

图片

热点缓存的更新

如果一个方法的参数被提为热点后,在1分钟内都将用热点数据返回。1分钟后如果你的热点依旧存在,那么会触发第二次热点,第二次热点会重新查询你的数据,并缓存起来。在第二分钟内会用这份数据进行返回。以此类推。

所以,请确保你的接口符合在短时间窗口内是能保证幂等性的,如果你的接口返回的数据每时每刻都在发生变化,那么Akali并不适合。这点很重要。

对RPC框架的支持度

支持任何RPC框架,诸如dubbo,open feign的provider端的热点处理。你完全可以把@AkaliHot标注在以上框架的provider端,标注在接口方法上或者实现类方法上均可以。

对于热点处理的一些忠告

尽量标注在一定时间范围内幂等的方法上,比如查询用户,查询订单等接口,这些接口方法在小范围时间窗口内是相对幂等的。

如果你标注在事务性操作的方法上,比如库存扣减,那么热点触发后,可能会造成业务的错乱。因为这些业务方法本来就不是幂等的。

所以使用之前要对业务进行考量,不能瞎用,这属于使用不当,而不是框架的责任。

来源:Akali(阿卡丽)官网文档

#1
资源直链https://gitee.com/dromara/Akali
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

关于我们

隐私政策

侵权投诉

站长:IT小君

粤ICP备20043561号

2016-2046 © 星河码客

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare