1。程序移植,数据库仍统一管理。
这种方式最易实现,但存在的问题数据库必须开放internet通道,如何保证安全,是个问题。而且,访问速度是否能达到要求同样是个问题。采用***通道?速度上又不能满足。
2。程序和数据库都移植。
这种方式能实现的镜像效果最好,但实施难度较大,在国内网站中实现这种镜像的还不多。这方案还有2种不同实现方式:
21 程序不改,数据库同步
这种方式相对简单些,程序部分基本不用改动,依靠sqlserver2000的同步功能来实现数据同步。
但从我在erp项目实施中获得的经验看,这种方式看似简单,但其实问题可能最多。首先,sqlserver同样继承了microsoft的老毛病:效率不高。同步复制3G的数据这个速度我实在不乐观。其次需直接开放internet访问,如何避免安全问题,还没想好,还需要找安全专家咨询。最后,同步复制过程中如果发生网络故障,如何保证多数据源的数据完整性和一致性又是个极大的挑战。
22 平台程序改动,数据库异步复制
这种方式对程序的要求较高,网站平台架构的调整较大。等于是把网站由单站点程序转为多站点平台。这样在业务和数据一致性上都有较高要求。这种方式工作最大,难度看似也最大,但我认为这种方式最可行。首先,把程序结构按照事务划分,借助mts可实现多站点统一事务,保证数据的一致性;其次,数据采用异步复制,能避免网络中断造成的数据不完整,防止引起某些逻辑错误;最后,这种方式要求我们尽量少的访问数据库,由于负载的分担,可考虑大量的使用内存替代数据库,提高整体的访问效率。
不过,由于存在时间差,会造成镜像站点间的内容不一致的情况,我还没想好如何解决。 并且,需要开发一个事务调度程序对各镜像数据进行统一更新维护,每秒可能需要面临200次的请求,程序性能和效率会是问题,如何采用分布式我也没想好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)