写给工程师的笔记与面试指北
聚焦分布式架构、中间件原理、线上排查与高频面试题,沉淀可复用的工程实践。
分布式锁的实现方式和实现原理
分布式锁的实现方式主要有以下几种,每种方式的原理和使用场景略有不同。以下是常见的实现方式及其伪代码示例。 1. 基于数据库的分布式锁 原理:通过数据库表中的记录来控制锁的获取和释放。通常会有一个锁表,使用唯一的标识符来表示锁的状态。 伪代码: public boolean acquireLock(S
分布式事务:RocketMQ 与 Seata
rocketmq 分布式事务 seata 分布式事务 TC (Transaction Coordinator) - 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器 定义全局事务的范围:开始全局事务、提交或回滚全局事务。
Spring Cloud Gateway 断言与路由
Gateway常见的断言规则 Gateway的断言和路由有什么关系 一对多:一个路由规则可以包含多个断言。如上图中路由 Route1 配置了三个断言 Predicate。 同时满足:如果一个路由规则中有多个断言,则需要同时满足才能匹配。如上图中路由 Route2 配置了两个断言,客户端发送的请求必须
Dubbo 与 Java RMI 对比
让我帮你分析使用Dubbo相比Java RMI的优势。我会从多个维度来对比说明。 flowchart TD A[Java RMI vs Dubbo对比] --> B[服务治理能力] A --> C[性能与协议] A --> D[负载均衡] A --> E[可扩展性]
Dubbo 负载均衡策略与配置细节
负载均衡策略与配置细节 Dubbo 内置了 client-based 负载均衡机制,如下是当前支持的负载均衡算法,结合上文提到的自动服务发现机制,消费端会自动使用 Weighted Random LoadBalance 加权随机负载均衡策略 选址调用。 如果要调整负载均衡算法,以下是 Dubbo 框
Redis-可以实现哪些功能
缓存 Redis 可以作为缓存系统,将热点数据存储在内存中,提高读写性能和响应速度,减少对后端数据存储的压力。 消息队列 Redis 的发布订阅功能和 List 数据结构可以实现消息队列的功能,实现异步处理任务、解耦系统组件之间的依赖关系等。 Redis 消息队列示例 使用 Redisson 的 R
PostgreSQL JDBC连接的完整生命周期
PostgreSQL JDBC连接的完整生命周期 让我通过pgjdbc源码,详细讲解一个数据库连接从创建到销毁的完整生命周期流程。 1. 连接创建阶段 入口点:Driver类 首先,当你执行DriverManager.getConnection(url, props)时,JVM会找到已注册的JDBC
Spring Boot 加载与 Bean 加载过程
Spring Boot 加载与 Bean 加载过程 1. 引言 Spring Boot 的核心在于约定大于配置,它通过自动配置让开发者可以快速、简便地搭建项目。在底层,Spring Boot 仍然依赖于 Spring Framework 的 ApplicationContext(常见如 Annota
MySQL-innodb存储引擎为什么采用B+树
为什么 InnoDB 使用 B+树 高效的磁盘 I/O 操作 - B+树的非叶子节点不存储数据,只存储索引值。这使得每个节点可以容纳更多的索引值,从而降低树的高度。 - B+树的叶子节点通过链表相连,方便范围查询,进一步减少磁盘访问次数。 适合范围查询 - B+树的叶子节点按顺序存储所有关键字,并且
Redis 多节点模式详解
以下是一篇将「Redis三种模式(主从、哨兵、Cluster)在多节点部署、故障与恢复流程、数据一致性、网络分区等问题」综合整理的详细说明文章,涵盖从基础概念到典型故障场景以及常见的解决思路。 Redis 多节点模式详解 Redis 在实际生产环境中常用的多节点部署模式主要包括: 主从模式(Mast