![](https://i-blog.csdnimg.cn/direct/bba8e8f1445a4065934947912acc04ec.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PmHub项目学习
PmHub项目学习
水蓝烟雨
人生需要动态规划,学习需要贪心算法。
展开
-
整合Rocketmq实现审批流消息推送
在分布式系统中,审批流消息的及时推送对确保流程的顺畅至关重要。通过整合 RocketMQ,一个高性能、低延迟的消息队列系统,可以实现审批流中的消息推送功能。RocketMQ 提供了可靠的消息传递机制,能够在不同服务之间高效地传递审批状态、通知、以及任务更新等信息。在审批流程中,消息的准确性和实时性尤为重要。通过将 RocketMQ 与审批流系统相结合,当审批状态发生变化时,RocketMQ 可以快速将消息广播到相关服务或用户,确保各方及时收到更新,提升系统的响应速度与稳定性。这种整合简化了系统架构原创 2024-08-16 09:00:00 · 1561 阅读 · 0 评论 -
集成OpenFeign和Sentinel实现自定义服务降级Fallback及网关流量控制
这篇文档详细介绍如何在微服务项目中集成 Sentinel 实现网关限流和服务降级。首先,文档讲解了 Sentinel 的下载安装和启动过程,接着说如何将 Sentinel 与 Spring Cloud Gateway 集成,通过 route 维度实现微服务的限流。文档展示如何通过 Nacos 持久化 Sentinel 的配置,以免服务重启致配置丢失。介绍如何利用 OpenFeign 与 Sentinel 集成,通过自定义 fallback 实现服务降级,减轻服务负担,确保在微服务调用失败时提供合理的降级响应原创 2024-08-15 09:00:00 · 776 阅读 · 0 评论 -
集成分布式锁Redisson
如何在Spring Boot项目中集成和使用Redisson实现分布式锁。分布式锁实现方案通过AOP切面和自定义注解,实现了非侵入式的锁控制,便于业务代码的开发和维护。原创 2024-08-13 09:00:00 · 364 阅读 · 0 评论 -
Redis+Lua脚本基于计数器算法的限流
这篇文章介绍了在高并发服务中保障系统稳定性的三大关键技术:缓存、降级和限流。缓存通过在内存中存储经常访问的数据来减少数据库负载,从而提升响应速度;降级在系统压力过大时暂时关闭非核心服务,以保障核心服务的运行;限流则通过控制请求速率防止系统过载。文章还展示了如何在Spring项目中实现限流功能,包括定义限流配置、编写限流注解、以及通过AOP切面类进行限流逻辑处理。最后,通过JMeter对限流接口进行测试,验证了限流配置的有效性。原创 2024-08-14 09:00:00 · 761 阅读 · 0 评论 -
如何保证缓存和数据库的一致性
在高并发的系统中,缓存和数据库的一致性是一个关键问题。为了提高性能,系统往往会使用缓存来减少对数据库的直接访问,但这也带来了缓存与数据库数据不一致的风险。原创 2024-08-17 08:00:00 · 437 阅读 · 0 评论 -
性能监控之分布式追踪SkyWalking
如何搭建和配置SkyWalking监控系统,包括服务端和客户端的搭建步骤。首先,提供了SkyWalking的下载链接,并演示了解压后的目录结构。然后,说明了如何修改配置文件,以便将SkyWalking连接到Nacos注册中心,并更改服务端口号。接着,介绍了如何启动SkyWalking服务,并在客户端通过指定javaagent参数连接到SkyWalking。文章还强调了日志监控的重要性,讲解了如何通过修改日志级别、添加依赖,及配置logback.xml文件,实现对错误日志的监控,通过访问服务验证了配置是否成功原创 2024-08-14 08:00:00 · 1329 阅读 · 0 评论 -
统计接口调用耗时_黑白名单配置
如何在Java中使用过滤器和计时工具进行URL拦截和接口调用耗时统计。文章首先描述了创建自定义黑名单过滤器 BlackListUrlFilter,用于禁止特定URL的访问,并演示了如何在Nacos配置文件中定义黑名单路径。接着,文章介绍了白名单配置,通过全局过滤器跳过无需验证的路径,如登录和注册接口。最后,文章讲解了如何通过全局过滤器记录接口调用的耗时,并展示了使用 StopWatchUtil 工具类同步记录耗时的具体方法。通过示例代码,文章详细演示了如何在实际项目中应用这些技术。原创 2024-08-12 09:00:00 · 418 阅读 · 0 评论 -
分布式事务Seata保证审批状态一致性
在分布式系统中,业务逻辑往往跨越多个微服务,导致事务一致性变得复杂。Seata 是一款分布式事务解决方案,能够帮助确保在复杂场景下数据的一致性,特别是在审批流程中,状态一致性至关重要。通过使用 Seata,开发者可以实现分布式事务的管理,确保多个服务之间的操作在全局事务中协调一致。在审批流程中,当多个系统同时处理审批请求时,Seata 可以保证无论是审批通过、拒绝,还是中断,所有相关服务的状态都保持一致,避免数据不一致或状态错乱的问题,确保业务的完整性和准确性。原创 2024-08-16 08:00:00 · 1047 阅读 · 0 评论 -
自定义注解+AOP实现接口鉴权和认证
这篇文章详细介绍了如何自定义注解及其在Spring微服务中的应用。首先,解释了自定义注解的基本步骤,包括定义注解、注解元素和元注解的使用。然后,展示了一个完整的自定义注解示例,并通过反射读取注解。接着,文章深入探讨了认证与鉴权的实现,特别是在微服务架构中的应用。通过自定义注解和AOP,结合OpenFeign请求拦截器,实现了对内部请求的鉴权,确保只有授权的内部请求和设置了用户信息的请求才能执行目标方法。这种实现方式提高了系统的安全性和可维护性。原创 2024-08-15 08:00:00 · 1328 阅读 · 0 评论 -
TTL缓存用户数据
ThreadLocal 和 TransmittableThreadLocal (TTL) 的使用场景及其对比。ThreadLocal 用于在单一线程中存储变量,如用户会话信息、日期格式化工具和日志上下文传递。而 TTL 则扩展了 ThreadLocal,支持在多线程环境中跨线程传递上下文信息,适用于分布式追踪、事务管理等场景。文章还展示了 TTL 在实际应用中的实现,如在网关过滤器中通过 TTL 传递用户信息,确保跨线程操作的一致性和安全性。原创 2024-08-13 08:00:00 · 389 阅读 · 0 评论