再次声明,这里的大部分文章都是我从我baidu的博客上转过来的,那里专业人士比较少,以后新的文章都会发表在这里。
用了点时间把我的webserver的基本架构图大致描述了出来,一则为了自己有个更为清晰的认识,二则为那些在服务器架构方面有要求有想法的人提供一点参考。
总体来讲架构的思路就是利用linux的socket或者文件fd的唯一性来避免全局竞争锁的出现(可能liunux内内部在分配的时候已经采用了锁),
这样我只要保证每次同一个fd只出现在一个环节的其中一个线程中就不会导致全局锁,这样就可以在系统性能方面提供一个伪耦合的架构,多个环节均采用任务调
度器来进行,这样当系统出现瓶颈的时候就可以加大那个环节的线程数量来解决,外部还是通过epoll的事件机制处理,这样就可以达到比较理想的动态处理速
度,又不会影响静态处理速度,其实IOCP内部也似一个线程池来解决的异步IO,只有把每个环节需要IO的部分都打散才能够保证系统的整体性能,并且不会
因为一个调度的失败影响全局的进程,总体结构图如下:
见100%大图
其中在读的环节见如下图表:
服务端处理见如下:
这样总体的系统就可以在server处理环节开展更为灵活的扩展方式,类似apoache的是将协议、网络等底层的处理部分全部封装,然后保证性能
和稳定性的前提下对中间环节进行扩展,这样可以避免fastcgi的引入,以求达到更高的服务器端性能。当然我的总体服务是一个类似于sop的纯XML+
数据库+全文索引的模式,正因为如此才可以将设计全部局限于一个应用之中。
这是最原始的架构图,现在已经做了很多改动,不过任务调度器还是挺合理的一个工具,只是他跟epool有同质冲突,所以现在的改动全部是基于事件驱动,不过这种架构也能跑出比Nginx更高性能的web 服务器。
分享到:
相关推荐
WEB集群整体架构图1
Embedded Web Server Architecture for Web-based Element and Network Management
大型web系统架构动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册。1、学习Web开发原理,包括MVC/MTV等Web框架; 更多资源下载 ...
Web Server程序Web Server程序Web Server程序
c#WebServer简单示例 这是我第一次学习webserver时候别人给的觉得非常好用!简单明白!
什么是 Web Server 和为什么要用 Web Server 什么是 Web Server? Web Server 是一种基于 HTTP 协议的应用程序,它可以提供静态或动态内容,并处理客户端的请求。简单来说,Web Server 就是一个应用程序,它可以...
这是做web项目开发的一个最基本的架构!!
近期需要做一个技术分享,分享一些技术架构。第一次画架构图,分享给大家,请大家多多指教拍砖,谢谢!
VC写的webserver程序
android简单网页服务器,可作为android上面的webserver
我的webserver开发
Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle WebServer完全教程Oracle ...
vs2008在调试WebSite项目的时候,会启动自带的简易WebServer(缺省位于C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0),这样就可以不必发布到IIS来调试。但是这个简易的WebServer有个问题,就是它...
android下面的webserver的实现,可以使用无线把android设备当作服务器,别的设备或者pc只要在这个网段就可以通过浏览器或者发送socket消息模拟http协议实现访问无线设备的内容。
Abyss Web Server X2 Version 2.8 含注册
搭建Matlab web server开发环境 根据自己开发实践总结出来。 原创。 Matlab web server
使用Qt调用自己从qtsoap提取的源码qtsoap.h、qtsoap.cpp,测试公用的天气预报WebServer。实现获取天气、国家、省份等信息
利用VC6.0实现的一个简单的 Web Server,能够响应客户端的请求将指定目录下的 HTML文件通过指定的TCP端口发送给客户端
AI大数据平台架构图 AI大数据平台架构图是指基于Artificial Intelligence(人工智能)和大数据技术的平台架构图,该架构图旨在将AI技术和大数据技术结合起来,实现数据驱动的智能决策。 从架构图中可以看到,AI...
web server 3.0中文 web server 3.0中文