- 数据层技术选型指南: 技术定位与核心价值现代应用系统对数据存储提出多样化需求,本文解析三类典型数据库的技术特征与适用场景: 1. MongoDB:分布式文档数据库(NoSQL)数据模型:BSON格式支持嵌套结构与动态模式分布式能力:原生分片集群实现水平扩展(Sharding 4.4+)查询优化:支持多维索引(文本/地理位置/复合索引)典型场景:日志系统、物联网设备数据、实时数据分析 2. ... 数据层技术选型指南: 技术定位与核心价值现代应用系统对数据存储提出多样化需求,本文解析三类典型数据库的技术特征与适用场景: 1. MongoDB:分布式文档数据库(NoSQL)数据模型:BSON格式支持嵌套结构与动态模式分布式能力:原生分片集群实现水平扩展(Sharding 4.4+)查询优化:支持多维索引(文本/地理位置/复合索引)典型场景:日志系统、物联网设备数据、实时数据分析 2. ...
- 引言本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操作都会回滚。这种“整锁整放”的方式,能更好地满足某些高要求的分布式业务场景。 介绍在分布式环境中,如果我们将数据拆分到不同的 Redis 实例、集群或... 引言本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操作都会回滚。这种“整锁整放”的方式,能更好地满足某些高要求的分布式业务场景。 介绍在分布式环境中,如果我们将数据拆分到不同的 Redis 实例、集群或...
- 引言在03篇中我们讲解了lua脚本的使用(Ps:如果你没跳过的话),目前我们通过api也好,lua脚本也好,已经基于redis实现了分布式锁,但看似完美的它其实还存在一些细节问题,本章节将会带领大家去探索这些细节并完善我们的分布式锁,并且在本章中还会为大家讲解一下“红锁”的算法原理。那么话不多说,开始我们今天的学习。 锁续期问题先来回顾一下: 我们前面为了解决锁因异常情况(例如执行完加锁逻... 引言在03篇中我们讲解了lua脚本的使用(Ps:如果你没跳过的话),目前我们通过api也好,lua脚本也好,已经基于redis实现了分布式锁,但看似完美的它其实还存在一些细节问题,本章节将会带领大家去探索这些细节并完善我们的分布式锁,并且在本章中还会为大家讲解一下“红锁”的算法原理。那么话不多说,开始我们今天的学习。 锁续期问题先来回顾一下: 我们前面为了解决锁因异常情况(例如执行完加锁逻...
- theme: nico 引言在02篇的小结中,为大家指出了我们处理锁误删的代码中存在的问题,但其实只要使用redis来做分布式锁,如果你不能把操作一步完成,不管什么场景可能或多或少都会出问题。所以引出了本篇的内容。在03篇中,我会为大家讲解如何通过Lua脚本来保持redis指令的原子性,从而避免并发问题。友情提示:本篇其实算番外篇,如果你对Lua脚本不感兴趣可以直接跳过,毕竟在实际业务里应... theme: nico 引言在02篇的小结中,为大家指出了我们处理锁误删的代码中存在的问题,但其实只要使用redis来做分布式锁,如果你不能把操作一步完成,不管什么场景可能或多或少都会出问题。所以引出了本篇的内容。在03篇中,我会为大家讲解如何通过Lua脚本来保持redis指令的原子性,从而避免并发问题。友情提示:本篇其实算番外篇,如果你对Lua脚本不感兴趣可以直接跳过,毕竟在实际业务里应...
- 引言在01篇文章中,我们深入探讨了单机锁的多种实现方式,并相信各位读者已经对它们有了较为全面的了解。然而,随着我们对单机锁的深入了解,不难发现它们所固有的一些局限性。因此,从本篇开始,我们将开始探讨分布式锁的相关内容。 认识分布式锁首先,先来看它的概念-控制分布式系统之间同步访问共享资源的一种方式。所以,它需要满足以下四个特性:互斥性、可重入性、锁超时防死锁、锁释放正确防误删。而01篇中提... 引言在01篇文章中,我们深入探讨了单机锁的多种实现方式,并相信各位读者已经对它们有了较为全面的了解。然而,随着我们对单机锁的深入了解,不难发现它们所固有的一些局限性。因此,从本篇开始,我们将开始探讨分布式锁的相关内容。 认识分布式锁首先,先来看它的概念-控制分布式系统之间同步访问共享资源的一种方式。所以,它需要满足以下四个特性:互斥性、可重入性、锁超时防死锁、锁释放正确防误删。而01篇中提...
- Redisson 实现的分布式锁相对于 SETNX 的核心优势在于原子性保障、功能扩展性、可靠性及开发友好性。以下是具体对比分析:一、核心优势对比特性SETNX 实现Redisson 实现优势说明原子性操作需组合 SETNX + EXPIRE 命令,非原子性操作通过 Lua 脚本实现加锁、续期、释放锁的原子性避免竞态条件(如锁超时后业务... Redisson 实现的分布式锁相对于 SETNX 的核心优势在于原子性保障、功能扩展性、可靠性及开发友好性。以下是具体对比分析:一、核心优势对比特性SETNX 实现Redisson 实现优势说明原子性操作需组合 SETNX + EXPIRE 命令,非原子性操作通过 Lua 脚本实现加锁、续期、释放锁的原子性避免竞态条件(如锁超时后业务...
- Redisson 的看门狗机制(Watch Dog)是其分布式锁(如 RLock)的核心特性之一,用于解决锁自动过期导致业务未完成锁失效的问题。它通过后台线程动态延长锁的持有时间,确保业务逻辑执行期间锁不会意外释放。一、为什么需要看门狗机制?在分布式系统中,如果客户端获取锁后,业务逻辑执行时间超过了锁的预设过期时间(如 30 秒),锁会自动释放。此时其他客户端可能获取... Redisson 的看门狗机制(Watch Dog)是其分布式锁(如 RLock)的核心特性之一,用于解决锁自动过期导致业务未完成锁失效的问题。它通过后台线程动态延长锁的持有时间,确保业务逻辑执行期间锁不会意外释放。一、为什么需要看门狗机制?在分布式系统中,如果客户端获取锁后,业务逻辑执行时间超过了锁的预设过期时间(如 30 秒),锁会自动释放。此时其他客户端可能获取...
- Redis 的渐进式 Rehash 是一种避免一次性大规模数据迁移导致服务阻塞的优化机制,主要用于哈希表(Hash Table)的扩容(rehash)和缩容操作。它的核心思想是将耗时的 rehash 过程分散到多次请求中逐步完成,从而保证 Redis 服务的响应性。一、为什么需要渐进式 Rehash?背景问题Redis 的哈希表(如字典 dict)是核心数据结构,当元素数量增... Redis 的渐进式 Rehash 是一种避免一次性大规模数据迁移导致服务阻塞的优化机制,主要用于哈希表(Hash Table)的扩容(rehash)和缩容操作。它的核心思想是将耗时的 rehash 过程分散到多次请求中逐步完成,从而保证 Redis 服务的响应性。一、为什么需要渐进式 Rehash?背景问题Redis 的哈希表(如字典 dict)是核心数据结构,当元素数量增...
- 基于 Redisson 实现延迟队列可以利用其内置的 RDelayedQueue 组件。以下是详细实现步骤和代码示例:1. 核心原理Redisson 的延迟队列基于 Redis 的有序集合(Sorted Set)和发布订阅(Pub/Sub)机制实现:有序集合:存储延迟元素,以到期时间作为分数(score)。后台线程:定期轮询有序集合,将到期元素转移到普通队列。消费... 基于 Redisson 实现延迟队列可以利用其内置的 RDelayedQueue 组件。以下是详细实现步骤和代码示例:1. 核心原理Redisson 的延迟队列基于 Redis 的有序集合(Sorted Set)和发布订阅(Pub/Sub)机制实现:有序集合:存储延迟元素,以到期时间作为分数(score)。后台线程:定期轮询有序集合,将到期元素转移到普通队列。消费...
- Redis 集群的脑裂(Split-Brain)是指由于网络分区、节点故障或配置问题,导致集群分裂为多个孤立的子集,每个子集内的节点认为自己是独立的“主节点”(Master),从而引发数据不一致、写入冲突等严重问题。以下是其核心要点:一、脑裂的本质与触发场景定义脑裂的本质是分布式系统中的一致性失效,表现为多个主节点同时存在,各自处理写请求,导致数据冲突或丢失。例如:网络分区将... Redis 集群的脑裂(Split-Brain)是指由于网络分区、节点故障或配置问题,导致集群分裂为多个孤立的子集,每个子集内的节点认为自己是独立的“主节点”(Master),从而引发数据不一致、写入冲突等严重问题。以下是其核心要点:一、脑裂的本质与触发场景定义脑裂的本质是分布式系统中的一致性失效,表现为多个主节点同时存在,各自处理写请求,导致数据冲突或丢失。例如:网络分区将...
- 引子在上文的结尾中我提到了redis分布式锁在“主从架构”下失效的情况:比如当redis执行相应命令时,主节点挂掉了,从节点被选为新的主节点,但命令还没来得及同步到从节点,因此高并发场景下,新的请求又会拿到锁,但前一个锁并没有手动释放掉,到过期时间后,就把新请求的锁给释放掉了,那么就又出现并发问题了,本篇文章就将以解决这个问题作为开端来展开。 解决问题在解决问题之前,我们先要认识一个名词-... 引子在上文的结尾中我提到了redis分布式锁在“主从架构”下失效的情况:比如当redis执行相应命令时,主节点挂掉了,从节点被选为新的主节点,但命令还没来得及同步到从节点,因此高并发场景下,新的请求又会拿到锁,但前一个锁并没有手动释放掉,到过期时间后,就把新请求的锁给释放掉了,那么就又出现并发问题了,本篇文章就将以解决这个问题作为开端来展开。 解决问题在解决问题之前,我们先要认识一个名词-...
- 引子在文章的开始前,我们先来看一段代码:@Autowiredprivate StringRedisTemplate stringRedisTemplate;@PostMapping("/deduct_stock")public String deductStock() { int stock = Integer.parseInt(stringRedisTemplate.opsForV... 引子在文章的开始前,我们先来看一段代码:@Autowiredprivate StringRedisTemplate stringRedisTemplate;@PostMapping("/deduct_stock")public String deductStock() { int stock = Integer.parseInt(stringRedisTemplate.opsForV...
- 在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛关注。此外,分布式系统的可靠性和一致性也是关键问题,而缓存技术则通过提高数据访问速度和减少数据库负载来优化性能。本文将详细介绍微服务架构的拆分策略、分布式系统的一致性协议以及Redis在缓存架构中的应用。 微服务架构拆分策略微服务架构通过将单体应用拆分成多个小的服务来提高系统的灵活性和可维护性。以下是几种常见的微服务拆分策略:业务功... 在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛关注。此外,分布式系统的可靠性和一致性也是关键问题,而缓存技术则通过提高数据访问速度和减少数据库负载来优化性能。本文将详细介绍微服务架构的拆分策略、分布式系统的一致性协议以及Redis在缓存架构中的应用。 微服务架构拆分策略微服务架构通过将单体应用拆分成多个小的服务来提高系统的灵活性和可维护性。以下是几种常见的微服务拆分策略:业务功...
- Redis Sentinel 和 Cluster 是 Redis 高可用与分布式架构的核心组件。Sentinel 提供主从故障检测与自动切换,通过主观/客观下线判断及 Raft 算法选举领导者完成故障转移,但存在数据一致性和复杂度问题。Cluster 支持数据分片和水平扩展,基于哈希槽分配数据,具备自动故障转移和节点发现机制,适合大规模高并发场景。复制机制包括全量同步和部分同步,通过复制积压缓冲区 Redis Sentinel 和 Cluster 是 Redis 高可用与分布式架构的核心组件。Sentinel 提供主从故障检测与自动切换,通过主观/客观下线判断及 Raft 算法选举领导者完成故障转移,但存在数据一致性和复杂度问题。Cluster 支持数据分片和水平扩展,基于哈希槽分配数据,具备自动故障转移和节点发现机制,适合大规模高并发场景。复制机制包括全量同步和部分同步,通过复制积压缓冲区
- Redis 是一个高性能的键值存储系统,支持丰富的数据结构(字符串、列表、哈希等)。其核心由键空间、过期字典和阻塞/监控键组成,通过惰性删除与定期删除策略管理过期数据。持久化方面,Redis 提供 RDB 快照和 AOF 日志两种机制,分别适用于快速恢复和高数据安全性场景。RDB 以二进制格式保存数据库快照,AOF 则记录写操作命令并支持重写优化文件大小。 此外,Redis 支持多数据库切换、内存 Redis 是一个高性能的键值存储系统,支持丰富的数据结构(字符串、列表、哈希等)。其核心由键空间、过期字典和阻塞/监控键组成,通过惰性删除与定期删除策略管理过期数据。持久化方面,Redis 提供 RDB 快照和 AOF 日志两种机制,分别适用于快速恢复和高数据安全性场景。RDB 以二进制格式保存数据库快照,AOF 则记录写操作命令并支持重写优化文件大小。 此外,Redis 支持多数据库切换、内存
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签