论坛首页 Java企业应用论坛

开发高性能的j2ee应用服务器,或许只有舍弃掉现有servlet架构

浏览 11774 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-29  
想问问这个是不是应该属于SCBCD的工作范畴?服务器端的开发一直都比较感兴趣,因为相对于应用程序来说这个支撑比较底层而且也能更多的避开繁杂的需求,算法和复杂度的好坏起更大的作用,想请教下如何入门?

现在刚刚通过scjp,只能说皮毛刚懂,下一步? 需要再去学习下servlet考个SCWCD么?
0 请登录后投票
   发表时间:2007-12-02  
becool 写道
servlet不过是一些接口和抽象类,你完全没领会到含义

不同意这种说法,很多时候接口决定实现,Servlet的API就是面向“流”的,注定了它就不能或者很难按照异步的方式去处理。

我早年想用NIO做过类似的事情,不过也遇到了一些困难也没有一直继续下去。比如HTTP协议的控制和数据是混在一起的,这样读取控制信息的时候可能就会不小心读到数据区,这样你就不大容易暴露最底层的接口比如一个XXXChannel出来;而数据部分可能会很大(比如POST,尤其是文件上传这样的),这样你不可能一次将数据完全读完,并在接口设计上直接扔出一个ByteBuffer或者ByteArray出来。

我建议楼主按照自己的设想做一下试试,舍弃Servlet没有不算crazy,本身Servlet也不算大,用NIO或者其它技术实现一个其它的模型也不是不可能的事。不过我猜想成功的可能性不大,一方面和HTTP协议有关(我相信如果是FTP会容易处理得多),另一方面上如何和现有的上层建筑兼容也是一个很大的问题,我当时使用了一堆Pipe Stream,很土。。。
0 请登录后投票
   发表时间:2007-12-03  
不了解楼主测的TOMCAT的版本,TOMCAT6中也增加了http NIO Connector。
0 请登录后投票
   发表时间:2007-12-03  
在少数请求的时候,一个线程处理一个请求。但是在大量并发请求的时候,就要用线程池来控制线程的数量,提高效率,这样就需要流量控制。
0 请登录后投票
   发表时间:2007-12-15  
我也在研究这个问题,现查到一个j2ee服务器,下面是其介绍:

Miniature JWS,也称 tjws,它是基于 Java 的 Web 服务器,可以处理 servlet、JSP 和数千个并发连接,而大小只有 77 KB。它的作者声称它 “比 Apache 2.x 快 10%”。
速度快,可靠性高,性能超过一些基于C/C++的Web服务器。TJWS配置简单而且支持CGI。
网站地址:http://tjws.sourceforge.net/

还没有测试,但有点怀疑,有那么牛么?
0 请登录后投票
   发表时间:2007-12-15  
谁说servlet不支持nio

楼主竟然连apr都没有用过就想废弃servlet了

用nio+epoll再测一次看看吧
0 请登录后投票
   发表时间:2007-12-15  
http://www.iteye.com/topic/75440?page=1
0 请登录后投票
   发表时间:2007-12-15  
你用web app server去当app server?差距很大的,自己用socket写喽,用c++的谁不是自己写!高并发和高响应,在javaee世界里,tomcat已经是啦,要更高,自己办吧
0 请登录后投票
   发表时间:2008-05-09  
关注,不知道有什么替代方案没有
0 请登录后投票
   发表时间:2008-05-16  
timerri 写道
近期在开发一个基于java的应用服务器。目标是在一台机器上能够支持尽量多的并发连接和可针对负载自动调整运行期资源占用量的多应用支持。


吞吐量和响应时间需要权衡,“支持尽量多的并发连接”是不现实的

timerri 写道

换句话说,就是应用服务器必须准备好了request和response才能调用servlet去处理。这是啥子意思?这就是个典型的多线程处理架构。每个连接一个线程,每个线程去处理自己拿到的请求。

可是当高并发的时候,还能给每个request开个线程去处理么?大量的线程足够拖垮你的服务器。


管理线程不是servlet的职责,而是servlet容器的职责,容器有配置线程池

timerri 写道
javax.servlet在结构上根本就不支持异步处理的方式,也不支持按块处理。而多数java应用服务器为了支持javax.servlet,也不得不使用多线程的处理架构。


同样,异步处理不是servlet的职责!容器的职责
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics