J2EE大型网站架构设计一点总结
2009-03-25 19:59
281 查看
程序开发是一方面,系统架构设计(硬件+网络+软件)是另一方面。
中国的网络分南北电信和网通,访问的ip就要区分南北进入不同的网络;
然后是集群,包括应用服务器集群和web服务器集群,应用服务器集群可以采用apache+tomcat集群和weblogic集群等,web服务器集群可以用反向代理,也可以用NAT的方式,或者多域名解析都可以;
软件架构方面,做网站首先需要很多web服务器存储静态资源,比如图片、视频、静态页等,千万不要把静态资源和应用服务器放在一起;
页面数据调用更要认真设计,一些数据查询可以不通过数据库的方式,实时性要求不高的可以使用lucene来实现,即使有实时性的要求也可以用lucene,lucene+compass还是非常优秀的;
不能用lucene实现的可以用缓存,分布式缓存可以用memcached,如果有钱的话用10来台机器做缓存,>10G的存储量相信存什么都够了;如果没钱的话可以在页面缓存和数据缓存上下功夫,多用OSCACHE和EHCACHE,SWARMCACHE也可以,不过据说同步性不是很好;
然后很重要的一点就是数据库,大型网站要用oracle,数据方面操作尽量多用存储过程,绝对提升性能;同时要让DBA对数据库进行优化,优化后的数据库与没优化的有天壤之别;同时还可以扩展分布式数据库,以后这方面的研究会越来越多;
新闻类的网站可以用静态页存储,采用定时更新机制减轻服务器负担;首页每个小模块可以使用oscache缓存,这样不用每次都拉数据;
最后是写程序了,一个好的程序员写出来的程序会非常简洁、性能很好,一个初级程序员可能会犯很多低级错误,这也是影响网站性能的原因之一。
中国的网络分南北电信和网通,访问的ip就要区分南北进入不同的网络;
然后是集群,包括应用服务器集群和web服务器集群,应用服务器集群可以采用apache+tomcat集群和weblogic集群等,web服务器集群可以用反向代理,也可以用NAT的方式,或者多域名解析都可以;
软件架构方面,做网站首先需要很多web服务器存储静态资源,比如图片、视频、静态页等,千万不要把静态资源和应用服务器放在一起;
页面数据调用更要认真设计,一些数据查询可以不通过数据库的方式,实时性要求不高的可以使用lucene来实现,即使有实时性的要求也可以用lucene,lucene+compass还是非常优秀的;
不能用lucene实现的可以用缓存,分布式缓存可以用memcached,如果有钱的话用10来台机器做缓存,>10G的存储量相信存什么都够了;如果没钱的话可以在页面缓存和数据缓存上下功夫,多用OSCACHE和EHCACHE,SWARMCACHE也可以,不过据说同步性不是很好;
然后很重要的一点就是数据库,大型网站要用oracle,数据方面操作尽量多用存储过程,绝对提升性能;同时要让DBA对数据库进行优化,优化后的数据库与没优化的有天壤之别;同时还可以扩展分布式数据库,以后这方面的研究会越来越多;
新闻类的网站可以用静态页存储,采用定时更新机制减轻服务器负担;首页每个小模块可以使用oscache缓存,这样不用每次都拉数据;
最后是写程序了,一个好的程序员写出来的程序会非常简洁、性能很好,一个初级程序员可能会犯很多低级错误,这也是影响网站性能的原因之一。
相关文章推荐
- J2EE大型网站架构设计一点总结
- 【转载】大型网站架构设计及技术总结(转载)
- 大型网站架构设计系列总结
- 大型网站架构设计及技术总结
- 大型网站架构设计及技术总结
- 大型网站分布式架构设计与实践(读书总结)
- 大型网站架构设计---经验总结
- 大型网站架构设计及技术总结(2)
- 推荐:大型网站架构设计系列--某人的总结
- 大型分布式网站架构技术总结
- 基于Java技术的大型网站架构设计方案
- 这几个问题解决了,怎么设计大型网站架构不再是困难
- 高并发大型网站架构设计
- 大型网站的架构设计图分享-转
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第三章——大型网站架构核心要素
- 大型网站架构系列之三,多对多关系的优化设计
- 大型网站技术架构核心原理与案例分析--第二、三章(总结待续)
- 大型网站的架构设计问题----大型高并发高负载网站的系统架构(转)
- 大型分布式网站架构技术总结
- 大型网站架构设计