linux高性能服务器读书笔记之服务器模型
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,1.模型一:C/S(经典的)起因:TCP/IP协议是没有客户和服务端的区别。但是资源(视频,新闻,软件)都是被数据提供者所垄断逻辑:服务器启动后,首先创建一个或多个监听socket,并且调用bind函
千家信息网最后更新 2025年12月04日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安全错误
数据库的锁怎样保障安全
怎样查看小程序的数据库
徐州软件开发公司电话
网络安全工程师在北京有工资吗
厦门棋牌软件开发定制app
mysql 数据库用户
软件开发专业学生考研
消费互联网及科技
邮件服务器imap
文件存储服务器搭建
最新网络安全知识宣传周
radius数据库配置文件
网络安全教后记
shell使用数据库
苹果邮件发件服务器
内部服务器错误打不开
公安指纹数据库
怎样设置备份服务器
代理服务器在哪设置
工程信息网络技术
美国矿物协会数据库
军事科技前沿互联网
攻城掠地梦三国服务器
办公软件开发靠谱吗
软件开发过程常用模型
深圳专业软件开发大概要多少钱
网络安全工作目标和工作任务
深圳网络安全管理中心
山西联想服务器维修维保费用
达梦数据库注册后无法启动
清华同方数据库采用的什么分类法