开发内功修炼@张彦飞开发内功修炼@张彦飞

talk is cheap,
show me the code!

网络篇

网络篇

深入理解Linux端口重用这一特性 配套实验源码

张彦飞(@开发内功修炼) 阅读(282)

大家好,我是飞哥!开篇我先考大家一个小问题,如果你的服务器上已经有个进程在 listen 6000 这个端口号了。那么该服务器上其它进程是否还能 bind 和 listen 该端口呢?我相信一定...

网络篇

为什么服务端程序都需要先 listen 一下?

张彦飞(@开发内功修炼) 阅读(225)

大家好,我是飞哥。大家都知道,在创建一个服务器程序的时候,需要先 listen 一下,然后才能接收客户端的请求。例如下面的这段代码我们再熟悉不过了。int main(int argc, char...

网络篇

万字多图,搞懂 Nginx 高性能网络工作原理!

张彦飞(@开发内功修炼) 阅读(289)

大家好,我是飞哥!在单进程的网络编程模型中。所有的网络相关的动作都是在一个进程里完成的,如监听 socket 的创建, bind、listen。再比如 epoll 的创建、要监听事件的添加,以及...

网络篇

剖析Netty内部网络实现原理

张彦飞(@开发内功修炼) 阅读(260)

大家好,我是飞哥!我在前面的几篇文章中分享了 Redis、Nginx 的网络模块内部实现原理。今天我就再带大家来了解一下 Netty 的网络内部实现。单线程 Redis 如何做到每秒数万 QPS...

网络篇

Redis 6 中的多线程实现方式比我预期的要差

张彦飞(@开发内功修炼) 阅读(247)

大家好,我是飞哥!Redis 是一个高性能服务端的典范。它通过多路复用 epoll 来管理海量的用户连接,只使用一个线程来通过事件循环来处理所有用户请求,就可以达到每秒数万 QPS 的处理能力。...