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

相关推荐
Anthony_2312 分钟前
Nginx基础
服务器·nginx·http·https·edge浏览器·web
顶点多余3 分钟前
9.15 面试问题总结(一面挂)
linux·面试·职场和发展
秦jh_6 分钟前
【Docker】容器
运维·docker·容器
顺风尿一寸11 分钟前
从 ls -U 到 Tomcat libs加载jar包:ext4 目录哈希序如何影响 Java 文件排序顺序
linux·jvm
刘婉晴21 分钟前
【K8S】配置和连接介绍
运维
是枚小菜鸡儿吖24 分钟前
Windows 和 iPhone 怎么互传文件?用 PairDrop 搭一个自己的浏览器传输入口
服务器·人工智能·大模型
网硕互联的小客服29 分钟前
如何在Ubuntu系统上查看和刷新DNS缓存?操作方法与原理解析
运维·服务器·网络·ubuntu
码农学院33 分钟前
制造业B2B官网GEO实战:用 Python 向量相似度给老产品手册自动补语义内链,让 AI 爬虫抓得更深
运维·人工智能·爬虫·ai优化aio
qeen8740 分钟前
【Linux】操作系统之进程介绍(一)
linux·笔记·学习·进程
亚川楼宇自控系统数据中心厂家42 分钟前
从电表到碳报告:能碳管理系统如何支撑机房双碳合规
运维