Reactor模型
-
Redis 单线程与 Reactor 模型的精密协同机制
在高性能网络编程领域,Redis 常被作为“单线程高性能”的典范。要理解为什么 Redis 的单线程设计在处理高并发网络 IO 时,不仅没有成为瓶颈,反而避免了多线程的延迟副作用,我们需要从 CPU 架构、操作系统内核以及 Redis 自...
-
深度剖析:epoll ET 模式下如果不设非阻塞,内核里会发生什么?
在 Linux 高性能网络编程中,**“epoll 的 ET(边缘触发)模式必须配合非阻塞(Non-blocking)Socket 使用”**几乎是一条铁律。 但你是否深入思考过: 如果不这么做,到底会发生什么?底层的内核运转逻辑又是...
-
现代 C++ 极简实战:如何用 epoll 实现万级并发的 HTTP 服务器?
要让单台服务器撑住万级并发(C10K 问题),传统的“一连接一线程(Thread-per-connection)”模型会因为线程上下文切换和内存开销(每个线程默认栈空间 8MB)直接崩溃。 现代 Linux 服务端的标准解法是: 非阻...
-
C++ 高性能无锁队列设计:如何极致优化 Reactor 与 Worker 线程间的数据交付
在构建高性能 C++ 网络服务器(如基于 Epoll/Kqueue 的 Reactor 模型)时,Reactor 线程(负责 I/O 多路复用与事件分发)与 Worker 线程池(负责业务逻辑计算)之间的数据交付效率,直接决定了整站的吞吐...
-
SPDK Blobstore在高频元数据写入场景下的碎片整理与GC架构设计
在高性能存储系统设计中,SPDK Blobstore 凭借其用户态、异步、无锁以及轮询(Polled-mode)的特性,成为了构建新型分布式存储和数据库底层引擎的热门选择。然而,当面临高频、小包的元数据(如目录树修改、KV索引更新、对象属...