设计与开发应用服务器(二)------相关技术.doc

设计与开发应用服务器(二)------相关技术.doc

设计与开发应用服务器(二)------相关技术.doc

设计与开发应用服务器(二)------相关技术 服务器的设计与开发涉及到诸多技术和问题,归纳一下大致可以分为以下几种: 服务器启动和接收数据过程 多线程策略 NIO 长连接 同步与异步 配置化支持 责任链模式 集群与负载均衡 数据包设计 服务端连接协议 客户端连接技术 服务器启动和数据请求过程 各种服务器所提供的功能和实现机制都不尽相同,但在启动和数据请求这块都长得差不多,遵循固定的一些流程和模式,启动过程一般按一下流程: 1)以main方法的形式提供由外部脚本触发的入口 2)载入配置文件,解析并构建上下文 3)初始化各个组件和资源 4)注册和启动监控和管理组件 5)启动连接监听 数据请求过程一般按一下流程: 1)侦听Socket 2)包装Connection 3)解析并包装数据 4)请求处理 5)向client发送处理结果 多线程策略 多线程的策略一般可以采取两种方式,一种是每一个线程负责监听、处理和返回结果所有事情,另外一种是把监听、接收、处理分开,各自都有独立的线程去处理。第一种策略比较简单,适用于处理不复杂的场景,图示如下: 第二种方式把一个较长的请求处理过程分割开,区分对待,这样能提高系统的吞吐量,比较适用与较为复杂的请求处理场景,图示如下: apache perfork在此基础上还有个main进程对这些work子进程进行管理,会根据请求的繁忙程度来调整wor

文档评论(0)

1亿VIP精品文档

相关文档