基于SEDA的异步框架设计与实现.docxVIP

  • 0
  • 0
  • 约2.48千字
  • 约 5页
  • 2022-03-19 发布于浙江
  • 举报
? ? 基于SEDA的异步框架设计与实现 ? ? 基于SEDA的异步框架设计与实现 ? ? ? ?目前,面对并发环境,主流互联网服务器编程模型有两种:多线程模型以及事件驱动模型。但是这两个模型都不足以解决这个问题。我们来首先看一下这两种编程模型。 ? 1、多线程并发模型??? ?????? 多线程并发模型是目前最普遍的服务器编程模型,该模型的架构如下图所示: ??????? 该模型针对每一个请求,会为其创建并分配一个线程。该线程负责这个请求的处理。该模型的优点:执行粒度是整个完整的处理流程。处理逻辑清晰,容易开发。但与此同时缺点也很明显:如果处理过程中某一步骤出现长时间调用(例如网络通信、I/O磁盘读写等),则会阻塞后续的请求,造成资源的浪费。并且,当随着处理请求不断增加,导致并发执行的线程数量太多。过多的线程数量导致系统在线程调度和资源争用上的开销过大。引起系统性能急剧下降。导致系统处理能力下降。 ? 2、事件驱动模型??? ?????? 同时,我们也能看到,很多系统也倾向于使用事件驱动模型,该模型的模型图如下图所示: ??????? 该模型的思想为:将处理流程分割成多个步骤,每一个步骤都实现为一个有限状态机(FSM),所有的处理请求会作为事件进入系统,由调度器负责传递给相应的状态机,状态机的处理结果也以事件的形式传给调度器,新的事件将再次被调度器转发给下一个状态机进

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档