SEDA概述

SEDA(Staged Event-Driven Architecture)的核心思想是把一个请求处理过程分成几个Stag,每个Stag使用不同数量的线程来处理,Stag间使用事件驱动的异步通信模式。
更进一步,在每个Stage中可以动态配置自己的线程数,在超载时降级运行(如输出纯文字页面)或拒绝服务。

SEDA模式的意义:

一来是让不同资源消耗的Stag使用不同的线程数量,达到资源的最优配置。

二来可以让不同的服务入口配置不同的资源,保证某些核心服务有足够的资源运行,非核心服务不会抢占完了所有资源,如果单纯由Tomcat来控制线程,就分不出这个轻重。

在每个Stage的通常有如下组件:

  • Incoming Event Queue ,事件队列。
  • Admission Controller 阀门,拒绝服务。
  • Dynamically sized Thread Pool, 线程池。
  • Event Handler ,实际处理业务的Compinent。
  • Resource Controller ,控制Stage的参数。

评论

此博客中的热门博文

如何解决在Delphi2009中添加pas组件的问题

在Delphi中操作Sap对象造成内存增长的原因

杀死团队的七种武器(转)