本人的项目出现了并发访问量增大、数据库压力增大等问题造成的效率低下的问题,现在初步想将原来的单WAS + 单oracle 的架构改为:
1.在WAS前增加两台F5负载均衡器(一台是冗余的)。
2.增加一台WAS应用服务器(不做集群)。
3.增加一台小机,利用oracle rac 与原来的服务器形成数据库集群。
本人过去并未接触过F5负载均衡设备,对于集群的应用也没有在实际中实施过,产生了一些问题:
1.session的问题, 使用F5做负载均衡是否涉及到session同步的问题?
2.缓存的问题,本项目中使用了OSCache作为缓存框架,是否同样有同步的问题?
3.文件的问题,本项目中有用户通过web service上传文件,然后由程序进行解析并处理的应用,因此,这些文件是否要实现两个WAS共享?
4.oracle 10g 的集群是否涉及到程序的变动?
5.其他未想到的问题?
主要是不理解F5负载均衡器和集群的真正区别,此次的设计中并未将WAS做成集群的架构,如果使用F5实现负载均衡,如果能不改变原来的
单一系统下的程序是最好的。
多谢!
以你的情况,程序一点都不必动,哦,当然连接数据库的url要和生产环境一致。
上传和解析不是一次请求完成的吗?因为F5的功能,只要不宕机,同一用户访问的总是一台机器,可以让集成商的人调整一下。
session、缓存、共享的外部文件、线程、静态变量,如果可用性要求不高程序不必改动,也不需要集群,f5只是将访问以某种算法均衡的分配给各个节点。其实这类应用用F5有点浪费了。
1.F5有session粘滞功能,部分的解决了集群的功能,但是并不能完全实现failover,主要是集群中的事物功能和session备份它不能替代。如果系统可用性要求很高,还是要做集群的,f5的session粘滞只能解决访问的一致性,但是一旦一个节点不可用了,那么访问它的session也over了。集群则带有session备份功能,不过代价高昂。
2.根据情况,看oscache做什么用,以及系统对于实时性要求等。
3.不必吧,毕竟小机宕机的可能性很小的。
4.不用变动
5.两台was就用f5太奢侈了,俺们的用f5带20多台服务器呢 :D
F5的会话保持针对Cookies应该也是有一个生效时间的吧?如果在一定时间内用户是可以被调度到同一台服务器上去,但是超时的话,比如过了好几天,同一用户就不一定到原先的服务器上去了,这样的话,如果上传文件不进行同步的话,应该是有问题的吧?