软件工程

架构演进

现代系统架构演进涵盖反向代理负载均衡、数据库读写分离与分库分表、LVS配合nginx及DNS轮询实现多层负载均衡。通过分布式文件系统、微服务拆分、容器编排等技术优化资源利用,并借助企业服务总线统一接口协议,最终实现公有云部署与共用服务支撑。

2026年1月27日

深入浅出 InfluxDB — 从索引到数据块

InfluxDB采用LSM Tree架构实现高效的时序数据存储索引机制。系统通过构建游标(Cursor)来处理InfluxQL查询,将SELECT语句解析为measurement、field、tagSet等元素。查询执行时先构造相应游标,利用Series key和时间戳建立索引,从Cache和FileStore获取数据。通过mmap索引文件进行二分查找定位数据块(Block),实现快速检索和聚合操作。

2026年1月27日

深入浅出 InfluxDB — 存储引擎

深入了解InfluxDB存储引擎架构,涵盖WAL预写日志、TSM文件存储、Cache内存缓存和Compactor压缩器等核心组件。分析数据从写入到落盘的完整流程,解释时序数据库如何通过分离读写文件优化性能,以及各组件间的协调机制和数据一致性保障策略。

2026年1月27日

深入浅出 InfluxDB — 写操作

InfluxDB写操作通过HTTP API实现数据写入,客户端使用curl命令向/write端点发送Line Protocol格式数据。服务端HTTP处理器解析请求参数,将数据反序列化为Point对象,通过PointsWriter接口写入对应数据库和保留策略。数据按时间戳分片并行写入,支持一致性级别控制,整个流程包含数据验证、分片映射、并发写入和错误处理机制。

2026年1月27日

时间轮

时间轮是一种高效定时器实现机制,通过避免传统轮询方式提升性能。该技术采用小顶堆作为时间优先级队列,计算当前时间与最早任务的时间差,期间任务队列保持休眠状态直至唤醒执行。执行完成后重新计算时间差并继续休眠循环,显著降低系统资源消耗。

2026年1月27日

APUE笔记

《UNIX高级环境编程》(APUE)关键概念与核心API的精炼总结。摘要系统性地涵盖了UNIX/Linux系统编程的核心领域:进程控制(fork、exec、wait)、进程间通信(管道、消息队列、信号量、共享内存)、I/O模型(阻塞、非阻塞、多路复用、异步I/O)、信号处理、文件系统与目录操作。内容聚焦于关键函数的使用方法、典型应用场景与常见陷阱,旨在帮助开发者快速掌握构建高效、健壮系统程序所需的基础知识与实践技能。

2026年1月26日

Docker 容器与容器云读书笔记

Docker 容器与容器云读书笔记

Docker容器技术深入解析,涵盖IaaS、PaaS、SaaS服务模式及容器云架构。详细讲解Docker镜像构建、容器编排部署机制,以及Namespace隔离技术包括PID、Network、Mount等核心概念。探讨容器生命周期管理、进程通信隔离和资源调度策略,为容器化应用开发提供完整技术参考。

2026年1月26日

Docker 原理剖析

Docker 原理剖析

Docker核心技术原理深度解析,涵盖Namespaces实现进程隔离、CGroups资源限制、UnionFS分层文件系统、网络虚拟化等关键技术。详细剖析容器如何通过命名空间完成进程网络隔离,利用控制组管理CPU内存资源,通过联合文件系统实现镜像分层存储,以及网络模式配置等核心机制。

2026年1月26日

Linux 内核设计与实现读书笔记

深入解析Linux内核架构设计原理,涵盖单内核与微内核对比、进程管理机制、调度算法优化等核心技术要点。详细探讨系统调用实现、中断处理机制、数据结构设计及内核开发注意事项,为理解Linux操作系统底层原理提供全面技术指导。

2026年1月26日

正则表达式快速入门

正则表达式快速入门

正则表达式是程序设计语言中的迷你语言,广泛应用于字符串搜索、替换、验证和过滤。涵盖基础语法如字符集、元字符、量词匹配,以及高级特性如子表达式、回溯引用、前后查找等。通过JavaScript和Go实例演示不同语言实现差异,帮助开发者掌握精确匹配技巧和实际应用场景。

2026年1月26日