- 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 脚本实现加锁、续期、释放锁的原子性避免竞态条件(如锁超时后业务...
- 鸿蒙微内核,如何撑起未来的万物互联 鸿蒙微内核,如何撑起未来的万物互联
- 🌟【开发经验分享】鸿蒙应用接续功能实战:这些隐藏案例助你实现跨设备丝滑流转!各位开发者小伙伴们好呀~今天在肝项目时意外解锁了HarmonyOS的一个"宝藏技能"——应用接续功能!官方文档里其实藏着超多实用案例,但很多同学可能没注意到。作为踩过无数坑的过来人,我这就把最核心的跨设备接续开发技巧掰开揉碎讲给大家!📱 一、先唠唠这个功能有多香想象这样的场景:你在手机上编辑小红书图文,突然想换平... 🌟【开发经验分享】鸿蒙应用接续功能实战:这些隐藏案例助你实现跨设备丝滑流转!各位开发者小伙伴们好呀~今天在肝项目时意外解锁了HarmonyOS的一个"宝藏技能"——应用接续功能!官方文档里其实藏着超多实用案例,但很多同学可能没注意到。作为踩过无数坑的过来人,我这就把最核心的跨设备接续开发技巧掰开揉碎讲给大家!📱 一、先唠唠这个功能有多香想象这样的场景:你在手机上编辑小红书图文,突然想换平...
- 各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接关联实际开发中的高频痛点,比如内存泄漏、跨端适配、服务卡片设计等。我整理了一份超全解读,带你解锁鸿蒙开发的“隐藏Buff”!一、动态布局实战:从折叠屏到多端适配你以为的鸿蒙布局只是Flex和Grid... 各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接关联实际开发中的高频痛点,比如内存泄漏、跨端适配、服务卡片设计等。我整理了一份超全解读,带你解锁鸿蒙开发的“隐藏Buff”!一、动态布局实战:从折叠屏到多端适配你以为的鸿蒙布局只是Flex和Grid...
- 在GaussDB数据库分布式架构中,排查数据倾斜的表数据可以通过以下方法:存储层数据倾斜排查使用系统视图查询:GaussDB提供了pgxc_get_table_skewness视图,可以查询各表的数据倾斜情况。通过执行SELECT * FROM pgxc_get_table_skewness;语句,可以获取表名、倾斜节点、倾斜节点的数据量以及倾斜率等信息,从而找出存在数据倾斜的表。分析表分布... 在GaussDB数据库分布式架构中,排查数据倾斜的表数据可以通过以下方法:存储层数据倾斜排查使用系统视图查询:GaussDB提供了pgxc_get_table_skewness视图,可以查询各表的数据倾斜情况。通过执行SELECT * FROM pgxc_get_table_skewness;语句,可以获取表名、倾斜节点、倾斜节点的数据量以及倾斜率等信息,从而找出存在数据倾斜的表。分析表分布...
- 1. 单体的问题微服务:把应用程序功能性分解为一组服务的架构风格。每个服务是一组专注的、内聚的功能职责组成。 每个服务是松耦合的,有自己的私有数据库,通过 API 通信。每个服务可以独立开发,部署,测试和扩展。好处:持续交付和部署容易维护独立部署,扩展团队自治实现和采纳新技术更好的容错性缺点:服务拆分和定义是一项挑战(糟糕的是搞成了分布式单体应用)分布式系统带来的各种复杂性,使开发、部署和测... 1. 单体的问题微服务:把应用程序功能性分解为一组服务的架构风格。每个服务是一组专注的、内聚的功能职责组成。 每个服务是松耦合的,有自己的私有数据库,通过 API 通信。每个服务可以独立开发,部署,测试和扩展。好处:持续交付和部署容易维护独立部署,扩展团队自治实现和采纳新技术更好的容错性缺点:服务拆分和定义是一项挑战(糟糕的是搞成了分布式单体应用)分布式系统带来的各种复杂性,使开发、部署和测...
- 引言在电商业务中,库存超卖问题就如同一颗定时炸弹,随时可能在高并发的环境下引爆。对于后端工程师来说,就需要为这颗炸弹加上防止爆炸的保险,从而避免因为超卖导致的资损问题。本系列文章就将从这个场景入手,一步步地为各位读者引入分布式锁的各种实现,从而让大家可以掌握分布式锁在常见场景的使用。 需求背景背景非常简单,就是在电商项目中,用户购买商品和数量后后,系统会对商品的库存进行相应数量的扣减。因此... 引言在电商业务中,库存超卖问题就如同一颗定时炸弹,随时可能在高并发的环境下引爆。对于后端工程师来说,就需要为这颗炸弹加上防止爆炸的保险,从而避免因为超卖导致的资损问题。本系列文章就将从这个场景入手,一步步地为各位读者引入分布式锁的各种实现,从而让大家可以掌握分布式锁在常见场景的使用。 需求背景背景非常简单,就是在电商项目中,用户购买商品和数量后后,系统会对商品的库存进行相应数量的扣减。因此...
- 引子随着移动互联网时代的到来,大数据时代 也随之而至。无数的信息流与数据流在各种系统和设备中涌动,如何高效地存储与处理这些海量数据,成为了当今技术领域的一大挑战。作为Apache旗下的分布式存储与计算框架,Hadoop 一直在大数据处理领域占有重要地位,凭借其强大的扩展性和可靠性,广泛应用于各类大规模数据处理任务。本文将借鉴Hadoop的设计思想,使用Java实现其一大核心功能:MapRe... 引子随着移动互联网时代的到来,大数据时代 也随之而至。无数的信息流与数据流在各种系统和设备中涌动,如何高效地存储与处理这些海量数据,成为了当今技术领域的一大挑战。作为Apache旗下的分布式存储与计算框架,Hadoop 一直在大数据处理领域占有重要地位,凭借其强大的扩展性和可靠性,广泛应用于各类大规模数据处理任务。本文将借鉴Hadoop的设计思想,使用Java实现其一大核心功能:MapRe...
- 引子在上文的结尾中我提到了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...
- Spring Security 和 Shiro 的对比分析Spring Security 和 Apache Shiro 都是 Java 生态中常用的安全框架,它们都提供了身份验证、授权、加密等安全功能,但在设计理念、功能特性、集成能力等方面存在一些差异。以下是两者的详细对比: 1. 设计理念和定位Spring Security定位:Spring Security 是 Spring 生态中的... Spring Security 和 Shiro 的对比分析Spring Security 和 Apache Shiro 都是 Java 生态中常用的安全框架,它们都提供了身份验证、授权、加密等安全功能,但在设计理念、功能特性、集成能力等方面存在一些差异。以下是两者的详细对比: 1. 设计理念和定位Spring Security定位:Spring Security 是 Spring 生态中的...
- 本文深入探讨了消息中间件的核心功能实现与高并发、高可用设计。在生产者设计中,涵盖消息构造、序列化、路由策略及可靠性保障(如ACK机制)。消费者部分分析了拉取/推送模式、分区分配与消息确认机制。同时,Broker作为核心组件,负责消息路由、存储和投递,并通过索引技术实现快速检索。 高并发设计方面,重点讨论了文件存储(顺序写入、分段存储)、日志结构存储及负载均衡策略(如哈希分区、轮询分区)。为确保高可 本文深入探讨了消息中间件的核心功能实现与高并发、高可用设计。在生产者设计中,涵盖消息构造、序列化、路由策略及可靠性保障(如ACK机制)。消费者部分分析了拉取/推送模式、分区分配与消息确认机制。同时,Broker作为核心组件,负责消息路由、存储和投递,并通过索引技术实现快速检索。 高并发设计方面,重点讨论了文件存储(顺序写入、分段存储)、日志结构存储及负载均衡策略(如哈希分区、轮询分区)。为确保高可
- 消息中间件是一种基于异步消息传递的分布式系统通信工具,核心功能包括消息传输、存储、路由与投递,能够实现系统解耦、异步处理和流量削峰。其主要组件包括生产者、消费者、Broker、主题/队列等,支持点对点和发布-订阅两种消息模型。主流中间件如Kafka(高吞吐)、RabbitMQ(灵活路由)、RocketMQ(事务支持)各有特色,适用于不同场景。此外,中间件还涉及多种协议(AMQP、MQTT等)、可靠 消息中间件是一种基于异步消息传递的分布式系统通信工具,核心功能包括消息传输、存储、路由与投递,能够实现系统解耦、异步处理和流量削峰。其主要组件包括生产者、消费者、Broker、主题/队列等,支持点对点和发布-订阅两种消息模型。主流中间件如Kafka(高吞吐)、RabbitMQ(灵活路由)、RocketMQ(事务支持)各有特色,适用于不同场景。此外,中间件还涉及多种协议(AMQP、MQTT等)、可靠
上滑加载中
推荐直播
-
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步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签