- 收录文章
- 31 篇文字被发现
- 文章访问
- 40 次从这里出发阅读
- 博客访问
- 1 次前往作者站点
- 最近更新
- 05.10 2026年
FROM THIS BLOG
最近文章
libco 的定时器实现:时间轮
定时器是网络框架中非常重要的组成部分,往往可以利用定时器做一些超时事件的判断或者定时清理任务等。 定时器有许多经典高效的实现。例如,libevent 采用了最小堆实现定时器,redis 则结合自己场景直接...
FileBeat-Log 相关配置指南
本文主要介绍 Filebeat 7.5 版本中 Log 相关的各个配置项的含义以及其应用场景。 一般情况下,我们使用 log input 的方式如下,只需要指定一系列 paths 即可。 ```yaml filebeat.inputs: - type: log p...
Redis 事件循环器 (AE) 实现剖析
Redis 作为一个单线程高性能的内存缓存 Server 而被人熟知。作为一个典型的 Reactor 式网络应用,Redis 能够达到如此高的性能,必然要依靠足够可靠的事件循环库。 Redis 内置了一个高性能事件循环器,叫做...
Elastic-Filebeat 实现原理剖析
Filebeat 是使用 Golang 实现的轻量型日志采集器,也是 Elasticsearch stack 里面的一员。本质上是一个 agent,可以安装在各个节点上,根据配置读取对应位置的日志,并上报到相应的地方去。 Filebeat 的...
Golang 标准库限流器 time/rate 使用介绍
> 本主题为系列文章,分上下两篇。本文主要介绍 `time/rate` 的具体使用方法,另外一篇文章 [《Golang 限流器 time/rate 实现剖析》](https://www.cyhone.com/articles/analisys-of-golang-rate/) 则着重...
微信 libco 协程库源码分析
libco 是微信后台开发和使用的协程库,同时也是极少数的直接将 C/C++ 协程运用到如此大规模的生产环境中的案例。 在 [《云风 coroutine 协程库源码分析》](http://www.cyhone.com/articles/analysis-of-c...
C++ 智能指针的正确使用方式
C++11 中推出了三种智能指针,unique_ptr、shared_ptr 和 weak_ptr,同时也将 auto_ptr 置为废弃 (deprecated)。 但是在实际的使用过程中,很多人都会有这样的问题: 1. 不知道三种智能指针的具体使用场...
C++ lambda 内 std::move 失效问题的思考
最近在写 C++ 时,有这样一个代码需求:在 lambda 中,将一个捕获参数 move 给另外一个变量。 看似一个很简单常规的操作,然而这个 move 动作却没有生效。 具体代码如下: ```cpp std::vector vec = {1,...
云风 coroutine 协程库源码分析
随着 Golang 的兴起,协程尤其是有栈协程 (stackful coroutine) 越来越受到程序员的关注。协程几乎成了程序员的一套必备技能。 云风实现了一套 [C 语言的协程库](https://github.com/cloudwu/coroutine/)...
WebSocket 订单推送稳定性优化方案
[微信云支付 Android 智能 POS](https://cloud.tencent.com/document/product/569/33102) 使用 WebSocket 实现了用户订单的实时推送。即,顾客在扫描了门店的付款码,客户端会随即进行语音播报和打印等动...
深入理解网络 IO 模型
在进行 Linux 网络编程开发的时候,免不了会涉及到 IO 模型的讨论。《Unix 网络编程》一书中提到的几种 IO 模型,我们在开发过程中,讨论最多的应该就是三种: ` 阻塞 IO`、` 非阻塞 IO` 以及 ` 异步 IO`...
客户端秒级时间同步方案
在客户端开发中,往往会有一些功能对时间要求比较严格,客户端需要获取到当前最准确的时间。但由于客户端环境多种多样,我们无法保证直接在客户端设备上获取到的时间是最准确的时间。 对于某些问题设备来...