C++项目:仿mudou库实现高性能高并发服务器

文章目录

一、实现目标

仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器:

通过咱们实现的高并发服务器组件,可以简洁快速的完成⼀个高性能的服务器搭建。

并且,通过组件内提供的不同应⽤层协议支持,也可以快速完成⼀个高性能应⽤服务器的搭建(当前

为了便于项目的演示,项目中提供HTTP协议组件的⽀持)。

在这里,要明确的是咱们要实现的是⼀个高并发服务器组件,因此当前的项目中并不包含实际的业务

内容。

二、前置知识

(一)HTTP服务器

1.概念

HTTP(Hyper Text Transfer Protocol),超⽂本传输协议是应⽤层协议,是⼀种简单的请求-响应协

议(客户端根据自己的需要向服务器发送请求,服务器针对请求提供服务,完毕后通信结束)。

协议细节在课堂上已经讲过,这⾥不再赘述。
但是需要注意的是HTTP协议是⼀个运行在TCP协议之上的应用层协议,这⼀点本质上是告诉我们,HTTP服务器其实就是个TCP服务器,只不过在应用层基于HTTP协议格式进行数据的组织和解析来明确客⼾端的请求并完成业务处理。

因此实现HTTP服务器简单理解,只需要以下几步即可

  1. 搭建⼀个TCP服务器,接收客户端请求。
  2. 以HTTP协议格式进行解析请求数据,明确客户端目的。
  3. 明确客户端请求目的后提供对应服务。
  4. 将服务结果⼀HTTP协议格式进行组织,发送给客户端实现⼀个HTTP服务器很简单,但是实现⼀个高性能的服务器并不简单,这个单元中将讲解基于Reactor模式的高性能服务器实现。

当然准确来说,因为我们要实现的服务器本身并不存在业务,咱们要实现的应该算是⼀个高性能服务器基础库,是⼀个基础组件。

2.Reactor模型:

Reactor模式,是指通过⼀个或多个输入同时传递给服务器进行请求处理时的事件驱动处理模式。

服务端程序处理传入多路请求,并将它们同步分派给请求对应的处理线程,Reactor 模式也叫Dispatcher模式。简单理解就是使⽤ I/O多路复用 统⼀监听事件,收到事件后分发给处理进程或线程,是编写高性能网络服务器的必备技术之⼀。

3.分类

单Reactor单线程:单I/O多路复用+业务处理。

相关推荐
cuisidong199722 分钟前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
凌云行者29 分钟前
使用rust写一个Web服务器——单线程版本
服务器·前端·rust
光通信学徒1 小时前
ubuntu图形界面右上角网络图标找回解决办法
linux·服务器·ubuntu·信息与通信·模块测试
wusam1 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
你会发光哎u1 小时前
Webpack模式-Resolve-本地服务器
服务器·前端·webpack
南种北李1 小时前
Linux自动化构建工具Make/Makefile
linux·运维·自动化
一直在进步的派大星1 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器
小飞猪Jay1 小时前
面试速通宝典——10
linux·服务器·c++·面试
哲伦贼稳妥2 小时前
一天认识一个硬件之电源
运维·其他·电脑·硬件工程
暗恋 懒羊羊2 小时前
Linux 生产者消费者模型
linux·开发语言·ubuntu