(转)中间件技术及双十一实践—中间件总体介绍

转载一下淘宝技术团队关于双11的系列文章(=。=很牛),出自“阿里中间件团队博客”,本文是总体介绍,地址:http://jm-blog.aliapp.com/?p=3359#comment-5671

相关的系列文章还有:

中间件技术及双十一实践之软负载篇http://jm-blog.aliapp.com/?p=3450

中间件技术及双十一实践·服务框架篇http://jm-blog.aliapp.com/?p=3462

中间件技术及双十一实践·EagleEye篇[......]

Read more

Posted in 资讯 | Tagged | Leave a comment

Tomcat源码走读5:请求处理

接前面,我们知道Tomcat中client端过来的请求由Connector来处理,这个过程中涉及的一些主要的类的继承体系如下:

11

当然这个图中的类体系是不完备的,还是很多其它的相关的类,如http协议中支持apr方式的类,APJ协议相关的类等,这里只选HTTP协议作为一个实例。

 

之前在Tomcat启动过程部分就已看到Connector中包含有Adapter和ProtocolHandler对象,其中,ProtocolHandler代表了具体的协议,如上面图中列[......]

Read more

Posted in J2EE | Tagged | Leave a comment

Tomcat源码走读4:启动过程续2

接下来则是Context的启动过程了,这一部分会比较繁杂。

 

稍微看看StandardContext的启动函数startInternal(),就知道这里面涉及的内容很多,这里主要看跟我们平常开发中会直接接触到的东西,比如说代表Web应用的相关实例是如何创建的?Context又是何时解析web.xml?何时加载Servlet,Filter等?

// 触发配置启动事件
fireLifecycleEvent(Lifecycle. CONFIGURE_START_EVENT,[......]

Read more

Posted in J2EE | Tagged | Leave a comment

Tomcat源码走读3:启动过程续

接前面,load()中完成服务器的初始化以后便开始启动Tomcat,也即进入Catalina的start()函数,这个函数的逻辑比较简单,先判断Server是否已实例化,没有则调用前面分析的load()初始化服务器,之后调用Server的start()启动服务器。

 

Tomcat中Server有一个对应的标准实现StandardServer:

protected void startInternal() throws LifecycleException {[......]

Read more

Posted in J2EE | Tagged | Leave a comment