分布式共识-Paxos算法分析 概述上一篇分布式共识理论基础中分析了SMR模型,SMR模型是分布式系统中实现容错性和强一致性的最重要、最基础的范式之一,它提供了一种机制,使得一组服务器能够像一个单一、可靠的、高性能的服务器一样运行,即使其中一些服务器发生故障,实现 SMR 通常需要依赖一个分布式共识算法来管理操作日志的同步,其中Paxos、Raft、ZAB等分布式共识算法就是其具体的实现。 2025-07-26 架构 #架构 #分布式
分布式共识理论基础 概述分布式系统是将一个大型计算任务分解为多个子任务,并分布到多台通过网络连接的计算机上执行的系统。这些独立的计算机节点协同工作,共同提供一个统一的服务或完成一个共同的目标。分布式系统是现代高并发、高可用互联网服务的基础架构,旨在通过协同多台廉价机器来提供稳定、高效、可扩展的服务。 2025-07-25 架构 #架构 #分布式
基于redis实现延时任务队列实现 概述业务中经常需要做某个操作, 然后一定时间之后看这个操作的执行结果。要么使用定时任务扫描,要么使用延时队列(任务)来实现。延时队列的核心是让消息在未来某个时间点才被消费。常用于如下场景: 发送延时消息(如订单未支付超时取消) 定时执行任务(如定时推送通知) 限流、分布式定时任务等 2025-07-25 java #java #redis #工具
分布式事务原理与实践 概述分布式事务是分布式架构中的核心挑战之一,尤其在跨服务、跨数据库操作时保证数据一致性。在传统的单体应用(Monolithic App)中不同的模块,在同一个数据源上更新数据来完成一项业务,整个过程的数据一致性可以由数据库的本地事务来保证。随着业务需求和架构的变化,单体应用进行了服务化拆分,原来的多个模块被拆分为多个独立的服务,每个服务使用独立的数据源(Pattern: Database per 2025-07-23 事务 #事务 #分布式 #RocketMQ
事务基础与原理 概述事务是数据库的一个重要功能,事务就是指对数据进行读写的一系列操作,事务在执行时,会提供专门的属性保证,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),也就是 ACID 属性。这些属性既包括了对事务执行结果的要求,也有对数据库在事务执行前后的数据状态变化的要求。 2025-07-22 mysql #mysql #redis #事务
Distuptor核心原理分析 概述 Disruptor是LMAX公司开发的一个高性能的有界内存队列,其目的是为了解决内存队列的延迟问题。目前应用非常广泛,Log4j2、Spring Messaging、HBase、Storm等都有使用到Disruptor。Disruptor项目团队的一篇论文,其高性能总结如下: 2025-07-21 Java #Java #并发 #高性能
基于LinkedTransferQueue实现连接池 概述连接池是一种用空间换时间、并确保资源可控性的重要设计模式。 它将昂贵的“连接创建”操作转变为廉价的“连接借用”操作,是构建高性能、高可用的数据库驱动应用不可或缺的基础设施。 2025-07-19 Java #Java #并发 #高性能 #juc
CompletableFuture 基础与原理 概述CompletableFuture 是 JDK8 中新增的多线程任务执行类,通过它我们可以方便地进行串行、并行、组合和转换异步任务,它能够以一种非常灵活的方式处理异步操作的结果,包括成功的结果、异常和取消等情况。它是对Futurer接口增强,在异步计算中,Future确实是个非常优秀的接口。但也存在着诸多限制: 2025-07-17 Java #Java #并发 #juc #线程池
ForkJoinPool 基础 概述ForkJoinPool 是 Java 7 引入的用于并行执行“分而治之”任务的线程池,它是 ExecutorService 接口的一个特殊实现,其核心设计目标是高效地处理那些可以递归分解成更小任务的工作负载。其工作方式采取工作窃取算法,以避免工作线程由于拆分了任务之后的join等待过程,这样处于空闲的工作线程将从其他工作线程的队列中主动去窃取任务来执行。 2025-07-15 Java #Java #并发 #juc #线程池
java线程池实现 线程池 Thread Pool 是一种基于池化思想管理线程的工具,线程池维护多个线程,等待管理者分配可并发执行的任务: 一方面避免了处理任务时创建销毁线程开销的代价, 另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。 2025-07-13 Java #Java #并发 #juc #线程池