【nginx】课程技术总结

完整项目:通讯框架+业务逻辑框架

【项目内容】

(1)项目是非常完整的多线程高并发服务器程序

(2)按照包头+包体格式收,完美的解决了数据粘包的问题

(3)根据收到的数据包来执行不同的业务逻辑

(4)把业务处理产生的结果数据包正确的返回给客户端

【用到的主要开发技术】

(1)epoll高并发通讯技术,用的是水平触发模式【LT】,简单提及边缘触发模式【ET】

(2)通过线程池技术处理业务逻辑

(3)多线程,线程之间的同步技术包括互斥量、信号量等等

(4)次要技术:信号,日志打印,fork()创建子进程,守护进程怎么写

【借鉴了官方nginx哪些精华代码】

(1)一个master进程,多个worker进程的 进程框架;

(2)epoll实现代码,但官方epoll的触发模式用的是ET【我们的项目用的是LT】

(3)借鉴了官方nginx的接收数据包以及发送数据包的核心代码;

【哪些是我们没有借鉴官方nginx而独立实现的代码】

(1)epoll LT模式;

(2)自己写了一套线程池来处理业务逻辑,调用适当的业务逻辑处理函数,直至处理完毕把数据发送回客户端;

(3)连接池中的连接的延迟回收(精华技术);

(4)专门处理数据发送的一整套数据发送逻辑以及发送线程。

猜你喜欢

转载自blog.csdn.net/u012836896/article/details/89434073