高流量的网站,并不赞成使用集成框架

java项目,现在大家都在头疼是使用原生底层开发,还是使用框架,笔者从业10多年来,一直坚持原生的jsp+java开发,直到开发出自己的框架,这也是从一个个项目中不断优化积累来的结果,目前此框架已达到轻量极,可拆发,可并发可复用的效果。并且自己还写了个代码生成工具,直接根据数据库表生成70%的代码,自己的才是硬道理!高流量的网站,并不赞成使用集成框架,单纯的jsp+JavaBean网站效率远远高于集成框架,因为框架只是辅助我们开发的工具,使用框架集的好处是提高开发效率,缩短开发周期而已!框架把很多方法都集成进去,我们在开发的时候直接拿来用就可以了!


对于高流量网站,开发的思路是分层是必须的,可以降低耦合度!要使用集成框架必须进行改造!


SSH框架不考虑,太庞大;Struts不适用于太大的系统,超过20个ACTION以上开始慢了,在进行压力测试的时候,其性能直线下降;Spring属于轻量级框架,可以考虑使用,但是还是需要进行改造,去掉多余的功能,或者将能用到的提取出来!
以上是对框架集使用的一些建议,在抛去框架集后,我们需要重点考虑的几点:
1,数据库的持久化设计,也就是对连接池的选择。你可以在以上的框架中将连接池单独抽取出来,如Hibernate的C3P0,或者Proxool,DDConnectionBroker,BoneCP等等
2,数据缓存的处理,高访问量网站,缓存机制是不可缺少的,可以参考Hibernate的持久化类实现方式!
3,对业务逻辑的处理,MVC模式是不二的选择,可以参考Struts的架构,但是如何去把握,这个是度的问题
4,页面以何种方式进行展示!
5,对数据库的选择以及优化,这个必须有专人对其进行维护!
6,容器的选择,Apache Tomcat,weblogic和websphere等,如果人手充足对容器的选择和优化也会起到事半功倍效果

7,硬件的选择,如F5,硬件上的负载均衡肯定强于软式的不少。

我设计框架的主要思路就是:

1、连接池的支持,提供内置连接池,也支持外接第三方的,通过 JNDI方式。

2、数据库对象工厂管理所有的数据库操作类(DAO)

3、日志工具

4、缓存工具(redis)

5、javabean抽象成统一的DateField(好处是不用为每个业务表生成java)

6、角色、权限支持。

当然细节不只是这些,以后会举例详情说明。

你可能感兴趣的:(java,jsp)