logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Go语言GMP调度模型深度解析:高并发背后的精妙设计

本文深入解析Go语言GMP调度模型的核心原理与实现机制。文章首先对比传统线程模型与协程的优劣,指出线程在高并发场景下存在资源消耗大、上下文切换成本高等问题。随后详细阐述GMP三大组件:Goroutine(轻量级协程)、Machine(线程抽象)和Processor(调度中枢)的协同工作机制,通过M:N绑定关系实现高效并发。重点分析四级调度策略(本地/全局队列、I/O唤醒、工作窃取)和让渡机制(正常

#golang#开发语言#后端
Go内存模型与GC机制:高性能编程的核心

逃逸分析是Go编译器在编译阶段执行的静态分析,用于确定变量的生命周期和分配位置。逃逸分析的目标确定变量是否超出函数作用域决定在栈还是堆上分配优化内存分配,减少GC压力。

文章图片
#golang#开发语言#后端
事务的进化:从MySQL单机事务到TiDB分布式事务的探究

在单机时代,MySQL通过集中的锁管理、本地事务ID和Undo日志,在单一服务器内高效实现了事务ACID。然而,其扩展性受限于单点硬件。为突破此瓶颈,TiDB等分布式数据库采用全新架构。其核心是Percolator模型:它引入全局时间戳定序,通过两阶段提交和随机选定Primary Key来协调跨节点事务,并将锁与状态分散存储在数据中,实现了去中心化的自我修复。这标志着从事务“集中控制”到“协同工作

文章图片
#mysql#tidb#分布式
事务的进化:从MySQL单机事务到TiDB分布式事务的探究

在单机时代,MySQL通过集中的锁管理、本地事务ID和Undo日志,在单一服务器内高效实现了事务ACID。然而,其扩展性受限于单点硬件。为突破此瓶颈,TiDB等分布式数据库采用全新架构。其核心是Percolator模型:它引入全局时间戳定序,通过两阶段提交和随机选定Primary Key来协调跨节点事务,并将锁与状态分散存储在数据中,实现了去中心化的自我修复。这标志着从事务“集中控制”到“协同工作

文章图片
#mysql#tidb#分布式
从存储引擎到文件系统:用FUSE将分布式KV挂载为本地目录

本文介绍了一个基于FUSE框架实现的分布式文件系统,该系统通过用户态文件系统与分布式KV存储相结合,实现了基本的文件操作功能。系统采用TCP/IP通信和RESP协议与分布式KV存储交互,核心功能包括文件读写、属性获取、目录列表等。文章详细阐述了网络通信模块、KV操作封装和FUSE文件系统操作的实现原理,同时也指出了当前系统在文件大小限制、并发控制和目录支持等方面的局限性,并提出了改进方向。该项目主

文章图片
#分布式
探究raft的线性一致性读方法

本文探讨了分布式系统中实现线性一致性读的优化方法,重点分析了Raft算法的LeaseRead机制及其改进方案。线性一致性作为最强的一致性模型,要求系统表现得像单机系统,但传统Read-as-Write方法存在性能问题。LeaseRead通过心跳维护租约期,允许Leader直接读取本地状态机,但存在时钟漂移风险。文章详细介绍了LeaseRead的实现流程,包括租约状态管理、心跳更新机制和客户端读请求

#分布式
到底了