前端:1、高并发,采用模板技术,velocity freemarker 尽量少用taglib,
2、 多使用ajax,
3、静态css,js分离,静态页面采用分离+缓存,
动态页面,ajax+缓存,用nginx专门做一个图片server,
数据放到缓存里memcache 部署到linux下
前台: JAVA framework
数据库: mongodb(读) sqlite(写) (memcache+mysql) 读写分离
数据采用MQ异步处理
1、spring3 MVC 零配置 默认支持Rest URL
2、因为struts2的Action对象是Prototype类型的,而且分离Servelt
API时大量的用到Java的反射机制,Java的发射恰恰又是非常影响性能
3、struts2基础包和放了plugin后的性能差别是很大的。
4、Request/Response 模型
5、spring MVC 是 《Expert One-on-One J2EE Design and Development》 的简单实现
6、struts2 复杂的拦截器链、很耗性能的OGNL表达式解析
rest Jersey wink
http://www.douban.com/subject/2129650/,
而非http://www.douban.com/subject.do?id=2129650。
2、 多使用ajax,
3、静态css,js分离,静态页面采用分离+缓存,
动态页面,ajax+缓存,用nginx专门做一个图片server,
数据放到缓存里memcache 部署到linux下
前台: JAVA framework
数据库: mongodb(读) sqlite(写) (memcache+mysql) 读写分离
数据采用MQ异步处理
1、spring3 MVC 零配置 默认支持Rest URL
2、因为struts2的Action对象是Prototype类型的,而且分离Servelt
API时大量的用到Java的反射机制,Java的发射恰恰又是非常影响性能
3、struts2基础包和放了plugin后的性能差别是很大的。
4、Request/Response 模型
5、spring MVC 是 《Expert One-on-One J2EE Design and Development》 的简单实现
6、struts2 复杂的拦截器链、很耗性能的OGNL表达式解析
rest Jersey wink
http://www.douban.com/subject/2129650/,
而非http://www.douban.com/subject.do?id=2129650。