Blog

最近用一些零碎的时间学习KVM,算算大概也快有一个月了吧,进度还是很缓慢的,感觉该写一些类似读书笔记的东西了。欢迎大家来讨论。 KVM 即 Kernel Based Virtual Machine, 是
table {:toc} *** Lua 是一门小巧的编程语言,但麻雀虽小五脏俱全,而且与 C 语言的交互非常友好,所以有人称它是 “胶水语言”。最近在研究 nginx,另一个广泛应
在实现的时候发现这张状态转换图非常重要。整个 raft 的运行就是围绕着这张图发生一系列状态转换。 因此,第一步实现一个状态机就成了关键。 参考资料 Go 并发
论文原文链接 In Search of an Understandable Consensus Algorithm Raft 保证一致性的 4 个重要组成部分: 领导人的选举,日志复制,安全性,集群成员的变化。 Raft 是一个强领导者算法,意思就是所有
投票的过程 日志的复制 一旦选举成功,所有的 Client 请求最终都会交给 Leader 处理。 当 Client 请求到 Leader后,Leader 首先将该请求转化成 LogEntry,
最近看到了一篇有关 TCP 关闭连接时 FIN-WAIT1 状态的文章(见参考资料),觉得很有意思,于是也在自己的电脑上验证了一下。 首先,开局一张图: {:height=“300” width=“300”} FIN-WAIT1 状态出现在 主
table {:toc} *** 问题的表面现象 问题的背景是这样的: 一个应用程序监听某端口的 UDP 包,发送者发送的 UDP 包比较大,有 65535 个字节。显然,发送者的 UDP 包在经过 IP 层时,会
泡了N久论坛,看了N多帖子以后终于成功的把 iPhone 3G 有内置卡贴的手机成功的破解,并且抽出了卡贴,越狱成功,可以用任何移动运营商的手机卡了! 哦耶!散
table {:toc} *** 过滤模块基本概念 普通的 HTTP 模块和 HTTP filter 模块有很大的不同。普通模块,例如上篇博客提到的 hello world 模块,可以介入 nginx http 框架的 7 个处理阶段,绝大多数情况
table {:toc} *** 在前面的两篇博客中我们看到,无论是实现一个 http 模块,或者是 http filter 模块,都需要实现模块自己的 ngx_http_module_t 结构体。 typedef struct { ngx_int_t (*preconfiguration)(ngx_conf_t *cf); ngx_int_t (*postconfiguration)(ngx_conf_t *cf); void *(*create_main_conf)(ngx_conf_t *cf); char *(*init_main_conf)(ngx_conf_t *cf, void *conf); void *(*create_srv_conf)(ngx_conf_t