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多路复用+业务处理。

相关推荐
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe10 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥10 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿11 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘11 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64812 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满12 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠12 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio12 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice12 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习