Linux的服务器软件,大多是基于epoll事件机制的多进程架构。已学完,有需要看文章最后
其中有一个主进程master,负责监控其他进程的状态。如果其他进程异常退出,则把它从新启动起来。
其他的进程是工作进程worker,负责具体的业务处理。
worker进程的主函数是一个基于epoll事件机制的循环,监控它负责的socket连接的读写状态,读取数据并且调用相关的各个协议解析模块进行处理,应答用户的请求。
之所以用多进程结构,是个别worker进程的异常退出不会导致整个服务器程序的退出,而是会被master进程再次启动起来继续服务,比多线程的稳定性要高。
带来的问题之一就是,跨进程的数据通信比较繁琐。一般是关键信息通过AF_UNIX域的socketpair传递,如果是视频之类的大量数据则使用共享内存。
典型的Linux高并发服务器,就是著名的nginx,作者俄罗斯程序员Igor Syseov。
目录
课程介绍
精进基石专栏【一】
精进基石专栏【二】
高性能网络设计专栏-网络编程
高性能网络设计专栏-网络原理
高性能网络设计专栏-自研协程框架
基础组件设计专栏-池式组件
基础组件设计专栏-高性能组件
基础组件设计专栏-开源组件
中间件开发专栏-MySQL
中间件开发专栏-TiDB
中间件开发专栏-RocksDB
开源框架专栏-skynet
项目实战【一】-图床共享云存储
中间件开发专栏-Nginx
中间件开发专栏-Redis
中间件开发专栏-MongoDB
开源框架专栏-TARS
开源框架专栏-DPDK
Rust项目专栏【一】
Rust项目专栏【二】
Linux内核专栏
性能分析专栏
分布式架构专栏【一】
分布式架构专栏【二】
项目实战【二】-微服务即时通讯
有需要点我的头像,再私信回复【学习】
| 留言与评论(共有 0 条评论) “” |