请教banq老师关于高负载网站的设计
网站是一个social network, 有3个主要的应用,包括论坛,相册等。 程序基本上快出来了,是分成了4个模块交给三个公司外包做的,现在面临整合的问题,但这是次要的。
我想知道如果这个网站如果要承载大并发量的情况下(假设1万人同时在线), 应该在服务器的哪些地方做调整?应该如何做有正对性的集群或者是负载均衡。谢谢。
第三种集群策略效率高,精确制导,但是你的程序架构也要有要求的,比如相册上传后放在什么地方,如果放在本地硬盘,那么在集群环境下就会有问题,除非你让几个服务器共享一个大硬盘,这带来昂贵和单点风险。
第三种集群策略有两个方向:
1. 自己动手在现有单机架构中引入分布式缓存机制。
2. 使用基于集群的技术如EJB等。
可以是可以,使用多个数据源datasource,使用JNDI来访问数据库。代码动得太多不好,特别是JavaEE本来就是屏蔽数据库的软件,你在程序中故意区分容易造成程序移植性不强,过分定制了,
>基于struts_hibernate_spring,现在是基于mysql的编码,如果要完整迁移到postgresql上面(不包含任何数据),难度大吗
难度不大,SSH是屏蔽了数据库的,只要修改一下hibernate配置就可以。
关于前面贴session失效,两种做法:
1. 使用专门的设备使得客户端和服务器粘起来,不要转发到其他tomcat
2. 凡是需要登录的使用一个servletfilter,对cookie进行查找,如果登录过,cookie有存在,让其自动登录