基于SEDA的异步框架设计与实现
5页1、 基于SEDA的异步框架设计与实现 基于SEDA的异步框架设计与实现 目前,面对并发环境,主流互联网服务器编程模型有两种:多线程模型以及事件驱动模型。但是这两个模型都不足以解决这个问题。我们来首先看一下这两种编程模型。1、多线程并发模型 多线程并发模型是目前最普遍的服务器编程模型,该模型的架构如下图所示: 该模型针对每一个请求,会为其创建并分配一个线程。该线程负责这个请求的处理。该模型的优点:执行粒度是整个完整的处理流程。处理逻辑清晰,容易开发。但与此同时缺点也很明显:如果处理过程中某一步骤出现长时间调用(例如网络通信、I/O磁盘读写等),则会阻塞后续的请求,造成资源的浪费。并且,当随着处理请求不断增加,导致并发执行的线程数量太多。过多的线程数量导致系统在线程调度和资源争用上的开销过大。引起系统性能急剧下降。导致系统处理能力下降。2、事件驱动模型 同时,我们也能看到,很多系统也倾向于使用事件驱动模型,该模型的模型图如下图所示: 该模型的思想为:将处理流程分割成多个步骤,每一个步骤都实现为一个有限状态机(FSM),所有的处理请求会作为事件进入系统,由调度器负责传递给相应的状态机,状态机的
2、处理结果也以事件的形式传给调度器,新的事件将再次被调度器转发给下一个状态机进行处理,直至处理完成。该模型的优点在于,由于将各个处理步骤独立实现,可以很容易的进行系统监测和调整。但是其缺点也不容忽视,即:由于Scheduler的设计和实现过于复杂,针对于不同的应用和系统的逻辑变更需要不同的实现,导致采用这一模型构建出的系统将十分庞大和难以控制。 综上所述,主流的多线程编程模型以及事件驱动编程模型虽然都各有其优势,但同时也都有其不可避免的缺陷,并不适合在高并发的环境下进行成熟系统的开发。所以这就是为什么我们要选择其他的模式来进行系统开发。以下介绍SEDA架构思想。3、阶段性事件驱动(SEDA)模型 针对上述现有主流并发架构之缺陷,若能够实现一种良好支持高并发,并且能够对性能需求自适应的架构,则将在很大程度上优化和提升服务器性能,既能够提高运行速度,又可以减少服务器压力,实现了公司利益与用户体验的双赢。因此,为汲取多线程与事件驱动模型之优点,最大程度规避这两者之缺点,以实现较好的高并发服务器架构,SEDA便应运而生。 SEDA(Staged Event Driven Architecture
《基于SEDA的异步框架设计与实现》由会员Baige****0346分享,可在线阅读,更多相关《基于SEDA的异步框架设计与实现》请在金锄头文库上搜索。
员工积极主动行为的组态效应:基于过程的视角
汪晖齐物平等与跨体系社会的天下想象
函数性质中的数学抽象在问题解决与设计中的应用
日本东京大学入学考试理科数学试题解析
二次电池研究进展
实践研究与论理逻辑
光学视觉传感器技术研究进展
龙泉青瓷的传承困境与发展
齐齐哈尔地区抗根肿病大白菜品种的抗性鉴定与评价
基于系统动力学模型的胶州湾海域承载力预测
基于弯液面电化学连接碳纤维实验初探
龟甲胶研究发展探析
鼻腔黏膜免疫佐剂鞭毛蛋白的研究进展
鼻内镜辅助上颌骨部分切除术治疗鼻腔鼻窦腺样囊性癌的临床分析
黑豆不同发芽期多酚、黄酮及抗氧化活性分析
齐鲁青未了:山东当代文学审美流变论
黄登水电站机电设备安装工程施工技术质量管理
黄河文化传承视角下音乐剧创作探究
黄亦琦从风论治咳嗽变异性哮喘经验※
鲸豚动物吸附式声学行为记录器综述
2022-03-24 12页
2022-03-24 11页
2022-03-24 10页
2022-03-24 25页
2022-03-24 13页
2022-03-24 18页
2022-03-24 10页
2022-03-24 32页
2022-03-24 8页
2022-03-24 9页