随笔分类 - 【后端技术栈】分布式
摘要:在当今游戏、社交和电商应用中,实时排行榜是提升用户参与度和竞争性的核心功能。本文将深入剖析 Redis Sorted Set(ZSET)数据结构,并展示如何基于 Java 构建高性能的实时排行榜系统。 为什么选择 Redis Sorted Set? 在构建实时排行榜时,我们需要满足以下关键需求: 高
阅读全文
摘要:XA模式(基于两阶段提交的分布式事务协议)在微服务架构中通常被认为不适用,甚至有害,主要原因在于其核心设计理念与微服务架构的核心原则存在根本性冲突。以下是详细分析: 对微服务自治性的破坏 (Violates Service Autonomy) 微服务原则: 微服务的核心价值之一是服务自治。每个微服务
阅读全文
摘要:基于 INSERT ON DUPLICATE KEY UPDATE 的分布式锁实现原理 核心SQL实现 INSERT INTO distributed_lock (lock_key, client_id, expire_time) VALUES (?, ?, NOW() + INTERVAL ? S
阅读全文
摘要:为什么需要分布式锁?主要功能是什么?核心目的是什么? 为什么需要分布式锁? 在分布式系统中,多个服务实例需要访问共享资源(如数据库、缓存、文件等)。如果没有协调机制,并发操作会导致: 数据不一致:多个节点同时修改同一数据 重复处理:多个节点执行相同任务(如重复扣款) 资源竞争:如超卖问题(库存被多个
阅读全文
摘要:2PC和TCC在流程上确实有相似之处(都有“准备-提交”的阶段化操作),但它们的核心设计思想和适用场景完全不同。我用一个对比表格+生活比喻帮你彻底理清区别: 核心区别对比表 维度 2PC(两阶段提交) TCC(Try-Confirm-Cancel) 设计目标 保证强一致性(像银行转账) 保证最终一致
阅读全文
摘要:2PC的回滚原理,保证通俗易懂! 1. 场景设定 协调者:银行总行(负责指挥) 参与者:分行A(操作小张的账户)和分行B(操作小丽的账户) 操作:小张向小丽转账100元 2. 正常流程(两阶段提交) sequenceDiagram participant 总行 participant 分行A par
阅读全文
摘要:在2PC(两阶段提交)协议中,"准备阶段将事务状态持久化到磁盘"是一个关键设计,这与常规的提交/回滚操作有本质区别。下面通过技术原理、流程对比和存储机制进行详细解析: 一、持久化事务状态 vs 提交/回滚的本质区别 操作 持久化事务状态(PREPARE) 提交(COMMIT)/回滚(ROLLBACK
阅读全文
摘要:分布式事务技术深度解析:后置提交 vs 2PC/XA 核心区别总览 后置提交和2PC/XA的本质区别在于事务状态的持久化时机和故障恢复能力: flowchart TD A[执行阶段] --> B{后置提交} A --> C{2PC/XA} B --> D[直接逐个提交] C --> E[PREPAR
阅读全文
摘要:分布式事务:从基础概念到现代解决方案的全面解析 分布式事务是构建现代分布式系统的关键技术之一,它解决了在多个独立服务或数据库间保持数据一致性的难题。本文将系统性地介绍分布式事务的必要性、技术演进历程以及当前主流解决方案的实现原理。我们将从最简单的单数据库事务开始,逐步深入到复杂的微服务场景下的分布式
阅读全文

浙公网安备 33010602011771号