logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ZooKeeper 分布式锁详解 —— 从原理、设计到实战优化

ZooKeeper 分布式锁通过临时顺序节点和 Watcher 机制实现了对共享资源的互斥访问。它利用 ZooKeeper 的强一致性、自动删除临时节点和顺序节点特性,使得锁的创建、竞争和释放变得简单而高效。尽管实现过程中需要处理竞态、锁重入和性能瓶颈等问题,但通过合理的设计和工具(如 Curator),可以构建出健壮的分布式锁解决方案,为分布式系统提供可靠的协调机制。

文章图片
#分布式#zookeeper#云原生
RabbitMQ 消息重复消费、顺序性丢失和消息丢失全解析及最佳实践

问题原因解决方案重复消费RabbitMQ 至少一次投递业务幂等性 + 手动 ack顺序丢失并发消费/重投乱序单队列串行/顺序号消息丢失队列或消息未持久化✅ RabbitMQ 的核心设计哲学是 “可靠但不保证顺序、不排除重复”。✅ 我们必须在业务层做好幂等性设计顺序控制和可靠性保障,才能构建一个稳定的消息系统。

#开发语言#后端#java +1
深度实战 | Spring Boot + ShardingSphere-JDBC 高级分库分表架构全流程

Slf4j@Override// 动态匹配或抛异常// 如果没有对应表,抛异常或者动态创建表(需要额外逻辑支持)throw new UnsupportedOperationException("没有对应的分表: " + suffix);问题解决方案SQL无分片键导致全库扫描必须WHERE条件包含分片键分片算法返回空,找不到目标表确认和算法逻辑对应读写分离主从延迟导致数据不一致设置合理的同步延迟,读

#java
一文彻底搞懂 Redis 缓存穿透、击穿、雪崩与熔断机制

缓存穿透指的是用户请求的数据既不在缓存中,也不在数据库中,因此每次请求都会落到数据库。某个高并发热点 key在某一刻过期,造成大量请求同时落入数据库。在同一时间内,大量缓存 key 同时失效,导致数据库雪崩式崩溃。问题触发条件解决方式实践建议穿透数据不存在布隆过滤器、空值缓存非法参数校验、定期清理 null击穿热点数据过期加锁/逻辑过期热点数据隔离设计雪崩大量缓存同时失效TTL 随机化、本地缓存、

#缓存#redis#数据库
如何判断链表是否有环?(Floyd 判圈算法/快慢指针)

快慢指针法(Floyd 判圈算法)🚀。会访问空指针,导致程序崩溃。如果链表有环,我们可以找到。在使用快慢指针时,一定要。判断链表是否有环时,

#算法
mysql为啥不用b树和红黑树?(面经)

MySQL 在选择索引结构时,通常使用的是而不是或。这是因为不同的树结构有不同的特点,B+ 树更适合数据库的需求,特别是在大规模数据查询、插入、删除等操作中。下面详细分析为什么 MySQL 选择而不是或。

#java#数据库
springboot和springmvc的区别是什么?(面经)

Spring MVC定义:Spring MVC(Model-View-Controller)是 Spring 框架中的一个 Web 模块,主要用于构建基于 Servlet 的 Web 应用程序。它实现了 MVC 模式,通过控制器(Controller)来处理用户请求,视图(View)来呈现数据,模型(Model)来传递数据。目标:Spring MVC 提供了 Web 应用程序的结构化方法,使得开发

#java
Java百万级别数据Excel表导入导出实战

可以通过工具类设置导出Excel的表头样式或数据样式。本文介绍了在Java中处理百万级别数据Excel表的两种常见方案:Apache POI结合SAX解析适合自定义需求强的场景。EasyExcel适合快速实现需求的场景。通过合理使用这些工具并结合性能优化策略,可以高效地完成大数据量的Excel文件处理。此外,结合具体业务需求,我们还可以进一步扩展功能,如支持多Sheet处理、自定义模板、动态样式等

文章图片
#java#开发语言
《深入浅出 Servlet:Java Web 开发的基石》(一)

然后再通过<url-pattern>/logon </url-pattern>查找到<servlet-name>login</servlet-name>,然后再通过<servlet-name>login </servle-name>查找到<servlet-class>com.rl.servlet.LoginServlet</servlet-class>。但我们知道在Servlet生命周期中init

文章图片
#servlet#java#前端
使用 JWT 实现安全认证的技术详解

**Token 的存储**:在前端,应将 JWT 安全地存储在 `LocalStorage`、`SessionStorage` 或 `HttpOnly Cookie` 中。3. **验证 Refresh Token**:服务器验证 Refresh Token 的合法性,如果有效,则重新生成新的 Access Token 并返回给客户端。- **基于 IP 地址或设备 ID**:Token 的生成和

#安全
    共 11 条
  • 1
  • 2
  • 请选择