随笔分类 -  开发经验

基于nacos自定义RPC框架实现
摘要:H-RPC是基于Nacos实现的RPC框架,传输层实现了基于Socket和Netty两种版本,并且实现了多种序列化与负载均衡算法。个人学习源码:https://github.com/itQAQ/H-RPC.git 阅读全文
posted @ 2023-03-20 20:32 Simpleeee 阅读(95) 评论(0) 推荐(0)
跨服务传递ThreadLocal解决方案
摘要:通常情况下,我们会将登录用户的相关信息,存放到threadLocal当中,以便于我们在代码中获取用户信息,但是threadLocal的数据只存在于当前请求线程中,对于分布式微服务场景,如何将threaLocal中的数据,进行跨服务传递,需要我们思考解决。 核心需要解决的两个问题是: 1.如何将当前服 阅读全文
posted @ 2023-03-02 19:44 Simpleeee 阅读(1847) 评论(0) 推荐(0)
使用Redis+自定义注解实现接口防刷
摘要:最近开发了一个功能,需要发送短信验证码鉴权,考虑到短信服务需要收费,因此对此接口做了防刷处理,实现方式主要是Redis+自定义注解(需要导入Redis的相关依赖,完成Redis的相关配置,gs代码,这里不做展示)。 首先定义注解AccessFrequencyLimiter,注解包含四个参数,限制一段 阅读全文
posted @ 2021-12-22 13:41 Simpleeee 阅读(569) 评论(0) 推荐(0)
SpringBoot自定义初始化Bean+HashMap优化策略模式实践
摘要:策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 传统的策略模式一般是创建公共接口、定义公共方法——》然后创建实体类实现公共接口、根据各自的逻辑重写公共方法——》创建一个行为随着策略对象改变而改变的 context 对象——》根据不同的传参,调用 阅读全文
posted @ 2021-09-16 15:37 Simpleeee 阅读(1277) 评论(0) 推荐(0)
使用AOP+自定义注解完成spring boot的接口权限校验
摘要:记使用AOP+自定义注解完成接口的权限校验,代码如下: pom文件添加所需依赖: 1 <dependency> 2 <groupId>org.aspectj</groupId> 3 <artifactId>aspectjrt</artifactId> 4 <version>1.8.9</versio 阅读全文
posted @ 2021-09-14 16:50 Simpleeee 阅读(1128) 评论(2) 推荐(2)