千家信息网

linux高性能服务器读书笔记之服务器模型

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,1.模型一:C/S(经典的)起因:TCP/IP协议是没有客户和服务端的区别。但是资源(视频,新闻,软件)都是被数据提供者所垄断逻辑:服务器启动后,首先创建一个或多个监听socket,并且调用bind函
千家信息网最后更新 2026年11月02日linux高性能服务器读书笔记之服务器模型
1.模型一:C/S(经典的)起因:TCP/IP协议是没有客户和服务端的区别。但是资源(视频,新闻,软件)都是被数据提供者所垄断逻辑:服务器启动后,首先创建一个或多个监听socket,并且调用bind函数将其绑定到需要(自定义)的端口,然后调用listen函数等待客户连接特点:客户连接是随机事件,需要某种I/O模型来监听连接。例子:服务器I/O复用技术之一的select系统调用(当监听接收到连接 ,服务器用accept来接收,并且分配一个逻辑单元为它服务,(fork系统产生逻辑单元,逻辑单元处理好一切返回给客户端,逻辑单元可以是新创建的子进程,子线程或其他)))

2.接下来就是宅男熟悉的P2P模型

优势:就是去掉通信的中心
特点;就是每台机器在消耗服务的时候也会给别人提供服务
例子:迅雷,云计算机群
问题:主机相互之间很难发现(发现服务器来解决这个问题)
但是本质还是CS,只是一个变相的扩展

I/O处理单元--------》逻辑单元---------》网络存储单元 中间都是由请求队列(通信方式,一般是永久的tCP连接)
2.1I/O处理单元:管理客户连接的模块,等待并且接受新的连接,接受客户的数据,将服务器的相应的数据返回客户端。数据的收发不一定在这里,也可能在逻辑单元,(取决于事件处理模式)2.2逻辑单元:分析并且处理数据,然后将结果传递给I/O处理单元或者直接发送给客户端(对于机器群来说,一个逻辑单元也许就是一台逻辑服务器)2.3.网络储存:可以是数据库,缓存和文件,或者一台服务器(有些是不需要的,如ssh,telnet)2.4.请求队列:各个单元之间通讯方式的抽象两个方面:I/O处理单元通知逻辑单元的方式,逻辑单元访问存储单元的机制这里就会涉及到池的概念,这个TCP理解一般是事先建立好的永久高效的TCP连接

3.I/O模型
3.1阻塞和非阻塞可以用于所有的文件描述符,不仅仅是socket,
3.2阻塞是可能是无法立即完成而被操作系统挂起,知道等待完成事件发生。
3.3非阻塞是系统的调用总是立即返回。,所以如果完成世家没有发生,就会返回和错误一样的标记。(errno可以区分)
要求:我们需要在完成世家发生的情况下,操作非阻塞,才能实现高效率。
例子:I/O复用(最常用的通知机制,还有SIGIO信号)
含义:有个函数叫I/O复用函数,他可以向内核注册一组事件,内核可以将已经完成的事件通知给应用程序。
例子:I/O复用函数:select,poll,epoll_wait
原理:本身每个函数都是阻塞的,但是他们都具有监听多个I/O事件 的能力
备注:SIGIO的信号处理以后再说
备注2:上述的阻塞I/O,I/O复用和信号驱动I/O都是同步I/O模型。
原理:I/O读写操作都是在I/O事件发生之后
异步I/O:(POSIX规范)用户可以直接对I/O进行读写操作,这些操作会告诉用户读写缓冲区的位置,以及操作完成后内核通知应用程序的方式

二者核心区别:同步是用户自己处理I/O操作,异步I.O是内核执行I/O操作。
区别2:同步向应用程序通知二是I/O就绪事件,异步是I/O完成事件。

linux下,aio.h 提供了对异步I/O的支持

单元 逻辑 服务 事件 处理 客户 阻塞 服务器 函数 数据 模型 复用 例子 内核 就是 方式 系统 监听 信号 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会主任 互联网巨头反垄断金融科技 互联网下的科技发展 汇久创客互联网科技 互联网科技论坛 科技大学互联网专业好不好 银川新华互联网科技职业技术培训学校图片 重庆互联网医院沙龙医盟信息科技 和信科技工业互联网 济南有互联网科技公司吗 中科明德北京互联网科技 锡山区互联网智能科技产品供应 银行科技岗属于互联网吗 互联网营销推广黑科技 互联网科技快讯热点 山东大美朱楼互联网科技有限公司 互联网时代高科技布局 安徽零酒互联网科技有限公司 互联网科技对化妆品行业 互联网金融金融科技 互联网科技股 互联网科技卖菜 善班互联网科技 碳银互联网科技 互联网金融科技创新 互联网金融科技委员会 镁科技互联网资讯平台 世界互联网科技公司市值排名 互联网科技的全部知识 朱啸虎曾投资哪些互联网科技企业
0