多构建工具链集成 (Build Systems)
告别手写 gcc 命令,详解如何在 Makefile、CMake 和 Bazel 项目中优雅地集成 Libevent。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 34 篇文章 · 返回首页
告别手写 gcc 命令,详解如何在 Makefile、CMake 和 Bazel 项目中优雅地集成 Libevent。
从零开始搭建 Libevent 开发环境,并编写第一个 Echo Server,体验事件驱动编程的魅力。
深入理解 Libevent 的核心设计哲学:Reactor 模式、异步 I/O 模型以及其整体架构解析。
解密 Libevent 如何封装 epoll、kqueue 等底层机制,实现跨平台的统一事件接口。
对比 Linux epoll、BSD kqueue 和 Windows IOCP 的异同,以及 Libevent 在不同平台上的实现差异与避坑指南。
深入 Libevent 源码,剖析 Reactor 的心脏——event_base 结构体与事件循环的主流程。
解剖 Libevent 的基本原子——struct event,理解其内部字段、状态流转与生命周期。
详解 Libevent 的高级抽象 bufferevent,掌握水位控制、过滤器模式以及 SSL/TLS 加密传输。
Libevent 高效运行的基石:深入 sys/queue.h 宏、哈希表与最小堆的实现细节。
深入剖析 Libevent 的核心数据结构 evbuffer,理解其链式存储、零拷贝优化与 sendfile 集成机制。
探讨 Libevent 对管道、TTY 和普通文件的支持差异,揭示 epoll 不支持磁盘文件的原因及解决方案。
解析 Libevent 如何将异步的 Unix 信号转换为同步的事件通知,探讨 Self-Pipe Trick 与 signalfd 的实现差异。
深入理解 Libevent 的定时器机制,包括最小堆管理、Common-Timeout 优化以及时间精度的权衡。
如何在 Reactor 模式中优雅地调用数据库和 RPC?探讨异步驱动集成、线程池卸载以及避免回调地狱的策略。
探讨基于 Libevent 的高性能服务器架构设计,包括 One Loop Per Thread、主从 Reactor 以及 Leader/Follower 模型。
如何用现代 C++ (C++11/14/17) 优雅地封装 Libevent?探讨 RAII 资源管理与 Lambda 回调的实现技巧。
详解在多进程环境中使用 Libevent 的致命陷阱:fork 后的 event_base 重置与资源继承问题。
Libevent 默认并非线程安全。本文详解如何开启线程支持、理解锁的粒度以及多线程环境下的最佳实践。
告别阻塞的 getaddrinfo,使用 Libevent 内置的 evdns 实现高性能异步域名解析。
快速上手 Libevent 内置的 evhttp 模块,构建轻量级 HTTP 服务,并了解其局限性。
Libevent 原生不支持 HTTP/2 和 QUIC,但这并不妨碍我们集成 nghttp2 和 ngtcp2。本文探讨如何基于 Libevent 构建下一代 Web 服务。
异步程序的调试是噩梦?掌握 Request ID 串联、慢回调分析、GDB 脚本与 eBPF 动态追踪技巧。
从 Daemon 化到优雅退出,详解 Libevent 服务在生产环境中的部署与运维最佳实践。
如何将 Libevent 与成熟的日志库 (spdlog)、配置库 (libconfig) 和参数解析库集成,构建生产级应用。
构建可观测的 Libevent 服务:集成 Prometheus 指标监控与 OpenTelemetry 分布式追踪。
从内核参数到 Libevent 配置,全方位优化网络服务性能,榨干 CPU 和网卡的每一分潜力。
总结 Libevent 开发中最高频的“坑”:多线程死锁、回调自杀、OOM 风险与隐蔽的阻塞。
防御 DoS 攻击、处理半开连接、实现自动重连与指数退避,打造生产级健壮的 Libevent 服务。
如何为 Libevent 应用编写单元测试?探讨 Mock Loop、集成测试以及使用 libFuzzer 进行协议模糊测试。
构建一个支持多人在线、消息广播的聊天室服务器,学习连接管理与广播逻辑。
实现一个具备 Round-Robin 调度和健康检查功能的 TCP 负载均衡器。
手写一个兼容 Redis 协议的 KV 存储服务器,学习 RESP 协议解析与内存数据结构管理。
实现一个完整的 SOCKS5 代理服务器,深入理解协议状态机与认证流程。
从零实现一个高性能 TCP 透明代理,掌握 bufferevent 的流量转发与背压 (Backpressure) 控制。