缓存热点,缓存穿透,终极解决方案看过来
背景
解决方案
碰到的问题
Hotkey虽然开源,但是相关client jar包并未上传中央仓库,dashboard和worker启动包也并未提供下载。需要下载源码进行编译,编译过程中也碰到一些包依赖的问题。
Hotkey的client jar只提供了api级别的方法供程序使用,如果要落地到业务项目中,需要大规模的修改代码才能实施。
public interface ProductService{
SkuInfo getSkuInfo(String skuCode);
}
Hotlink客户端
业务接入简单,只需要一个标注,1分钟就能使你的RPC接口接入热点探测框架
启动时动态扫描所有Hotlink标注的接口,创建动态代理
基于动态代理去对接口做增强,理论上只要有接口,就支持任何RPC框架
本地方法只要有接口,也能使用热点探测
Hotlink如何使用
<dependency>
<groupId>com.thebeastshop</groupId>
<artifactId>hotlink-spring-boot-starter</artifactId>
<version>1.0.12</version>
</dependency>
<fastjson.version>1.2.70</fastjson.version>
<guava.version>29.0-jre</guava.version>
#此app-name不配置的话,会优先读取spring.application.name属性
hotlink.app-name=test
#etcd地址和端口
hotlink.etcd-url=http://xxx.xxx.xxx.xxx:2379
@Hotlink
public interface ProductService{
@Hotlink
SkuInfo getSkuInfo(String skuCode);
}
使用Hotlink需要注意的事项
接口层面上标注@Hotlink
相关实现会被注入Spring上下文中
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
- 港币对人民币汇率2024年1月26日
- 永久免费无代码开发平台网站 白码无代码平台架构
- 十年之约 共聚无锡 | 闻库:物联网转售将成移动转售“新大陆”
- 《独行月球》:从喜剧到科幻喜剧的距离
- 6111万千兆宽带用户:“十四五”规划目标提前达成!
- 社区精选 |原生JS以后也支持类型注解啦?
- 真实网友评论:被玩出花、真想搞一部放在公司、可以控制相机,当个远程监控、别以为我不知道你想干什么
- 为短焦VR和轻量AR而生,Tobii展示最新微型眼球追踪模组
- 比特熊“新家”装修完毕,欢迎你成为首批访客
- 同样的尺寸却相差几千元,大屏电视怎么选才划算?
- MWCS 21 前瞻
- 高级搬运工都在用,TikTok、INS、油管、汤不热... 最高 8K,想下谁的视频都可以
赞助链接