高飞的Leo
用代码改变世界。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OAuth 2.0 四种授权模式及核心实现流程
OAuth 2.0提供四种授权模式:1) 授权码模式(适用于服务器端应用,通过授权码换取令牌);2) 简化模式(适用于前端应用,直接返回访问令牌);3) 密码模式(适用于可信内部系统,直接使用用户凭证获取令牌);4) 客户端模式(适用于服务间通信,使用客户端凭证获取令牌)。每种模式的安全级别和适用场景不同,核心流程均包含授权请求、令牌颁发和资源访问三个关键阶段,涉及客户端、授权服务器和资源服务器的交互。实现时需要生成安全令牌、验证凭证并处理重定向逻辑。原创 2025-06-11 14:58:15 · 80 阅读 · 0 评论 -
OAuth 2.0中/oauth/authorize接口的核心作用解析
OAuth 2.0设计中使用**独立授权端点。原创 2025-06-11 14:15:57 · 108 阅读 · 0 评论 -
NACOS动态修改限流规则并通知Sentinel的实现
通过以上方案,可以实现基于 Nacos 和 Sentinel 的动态限流规则管理,保护系统免受流量过载和滥用。的集成,实现限流规则的动态更新。具体来说,Nacos 作为配置中心存储限流规则,Sentinel 通过。监听 Nacos 配置的变化,并在配置更新时实时加载新的限流规则。以下是具体实现逻辑和流程。动态修改限流规则的核心逻辑是通过。原创 2025-03-31 16:16:34 · 270 阅读 · 0 评论 -
Log4j2 的核心实现和源码分析
Log4j2 的设计使得它在高性能和灵活性方面具有显著优势,适用于各种复杂的应用场景。原创 2025-03-24 19:32:21 · 269 阅读 · 0 评论 -
Spring Security核心源码和功能实现
Spring Security 是一个强大的安全框架,用于保护基于 Spring 的应用程序。它提供了认证、授权、防止常见安全攻击等功能。下面是对 Spring Security 的核心功能和实现的详细分析,并使用 Mermaid 绘制相关流程图。原创 2025-03-24 18:56:19 · 142 阅读 · 0 评论 -
Nacos 客户端核心源码的实现及流程分析
Nacos 是一个动态服务发现、配置管理和服务管理平台。Nacos 客户端负责与 Nacos 服务器进行通信,实现服务注册、发现、配置管理等功能。下面是对 Nacos 客户端核心源码的实现及流程分析,并使用 Mermaid 绘制相关流程图。原创 2025-03-24 17:28:40 · 56 阅读 · 0 评论 -
XXL-JOB的快慢线程池和滑动时间窗口实现
通过以上分析,你可以更深入地理解 XXL-JOB 服务器端的滑动时间窗口算法和快线程池、慢线程池的处理逻辑。这些机制共同确保了任务的高效执行和资源的合理利用。希望这些详细的分析和流程图对你有所帮助!如果有其他具体问题或需要进一步的详细分析,请随时告诉我。原创 2025-03-24 17:22:01 · 113 阅读 · 0 评论 -
RabbitMQ 客户端的源码结构和流程图
通过这些流程图,可以更清晰地理解 RabbitMQ Java 客户端的连接管理、消息发布和消费、异常处理以及性能优化的机制。每个流程图都展示了关键步骤和交互,帮助我们更好地掌握客户端库的使用和内部实现。原创 2025-03-24 17:14:12 · 238 阅读 · 0 评论 -
滑动时间窗口的原理及伪代码实现
滑动时间窗口通过环形缓冲区(Ring Buffer)来记录和统计命令在最近一段时间内的执行情况。每个桶记录一定时间段内的事件计数,随着时间的推移,当前时间会落在不同的桶中,形成一个滑动的时间窗口。通过遍历所有桶的事件计数,可以计算出各种统计指标(如成功率、失败率等),从而支持熔断器的决策。希望这能帮助你更好地理解滑动时间窗口的原理和实现。如果你有更多问题或需要进一步的细节,请随时告诉我!原创 2025-03-17 16:13:55 · 115 阅读 · 0 评论 -
Hystrix限流的源码分析
这个切面的主要功能是将方法调用包装在 Hystrix 命令中,从而实现熔断、降级、超时和限流等特性。它在匹配的方法执行前后进行拦截,并将方法调用包装在 Hystrix 命令中。是 Netflix Hystrix 库中的一个 AOP(面向切面编程)切面,用于处理带有。包中,是一个 AspectJ 切面类。它使用 AspectJ 的注解来定义切点和通知。限流是 Hystrix 的一个重要特性,主要通过。属性可以用来配置线程池,从而实现限流。是一个切点方法,用于匹配所有带有。原创 2025-03-17 15:42:32 · 47 阅读 · 0 评论 -
ribbon负载均衡逻辑的源码实现
当然,可以进一步优化 Mermaid 图,使其更加清晰和简洁。以下是优化后的 Mermaid 图,展示了 Ribbon 负载均衡的实现逻辑,从和开始。fill:#333;color:#333;color:#333;fill:none;原创 2025-03-14 17:12:36 · 474 阅读 · 0 评论 -
zuul动态路由的伪代码实现
通过以上步骤,我们实现了一个自定义的,注册了服务注册与发现的回调,发布了事件,并在监听该事件时更新了 Zuul 中的路由缓存。这种方式使得我们可以动态管理路由信息,并确保路由配置的实时更新。原创 2025-03-14 15:57:36 · 50 阅读 · 0 评论 -
zuul路由转发功能的核心流程
通过以上代码示例,我们可以看到如何初始化和配置 Zuul 的各个组件,以及如何拦截请求并调用预处理、路由和后处理过滤器。这些过滤器在请求处理的不同阶段执行相应的逻辑,确保请求被正确地转发到目标服务,并将响应返回给客户端。希望这些示例能够帮助你更好地理解的工作流程。如果有任何进一步的问题或需要更详细的步骤,请随时告诉我。原创 2025-03-14 14:58:03 · 43 阅读 · 0 评论 -
spring bean的生命周期
你可以将上述 Mermaid 代码复制到支持 Mermaid 的工具(如。)中查看流程图效果。原创 2025-03-11 19:35:56 · 112 阅读 · 0 评论 -
Guava Cache 中LocalCache的分段锁实现
LocalCache的分段锁实现是其高并发性能的核心。通过将缓存数据划分为多个段,每个段独立加锁,减少了锁竞争并提高了并发性能。减少锁竞争:不同段的操作可以并行执行。提高并发性能:在多线程环境下,分段锁能够显著提升缓存的吞吐量。灵活性:段的数量可以根据并发级别动态调整。如果需要更深入的源码分析或性能优化,可以参考 Guava 的官方文档和源码。原创 2025-03-03 14:15:49 · 182 阅读 · 0 评论 -
Duird连接池连接管理
从空闲队列中获取连接。创建新连接。检查连接有效性。处理连接获取失败的情况。通过优化的调度算法和资源管理机制,在高并发场景下表现出色,能够高效地管理数据库连接。如果需要更深入的源码分析或性能优化,可以参考 Druid 的官方文档和源码。原创 2025-03-03 13:44:17 · 111 阅读 · 0 评论 -
nacos配置更新流程
动态配置更新机制是 Nacos Config 的核心功能之一,它通过长轮询和事件通知机制实现了配置的实时更新。客户端通过注册Listener监听配置变化,并在配置更新时动态刷新 Spring 环境中的配置。这一机制使得应用程序可以在运行时动态调整配置,提高了系统的灵活性和可维护性。原创 2025-03-03 10:53:30 · 184 阅读 · 0 评论 -
DispatcherServlet流程分析
springmvc核心代码流程梳理原创 2025-02-28 15:36:22 · 264 阅读 · 0 评论