日期:2014-05-18  浏览次数:20537 次

难题,2台服务器做负载均衡怎么共享静态类的静态属性
难题,静态类的静态属性是程序共享的,可是现在2台服务器做负载均衡,静态属性就变成每台服务器一份了,如何使这两台服务器的程序依旧共享静态类呢,给个思路就很感谢!!

------解决方案--------------------
存入数据库,做一个SqlCacheDependency,使两端保持同步。
------解决方案--------------------
或者是存入到Session中,并且Session是基于数据库的Session,否则两端也不会同步
------解决方案--------------------
那就只有启用一台中间层服务器了,两台或多台负载均衡的机器都指向这台机器,所有的静态变量值都由这台机器负责。但唯一的风险就是这台机器的压力或许大了一点,如果中间层服务器还要架负载均衡,那就是一个死局。

不过,使用数据库读写性能倒也不弱,你可以尝试一下,或许你可以说说你目前碰到的使用情况和并发情况,看看与我曾经碰到的案例是否相似。

当初我碰到的案例是一个企业内部Intranet,不过使用人数在10000人左右(一个大的商贸企业),峰值并发可能在1800左右,两台负载均衡的机器+SQL Server的Session处理,完全应付的过来。这个倒也不大,不过可以从内存和CPU分配的情况来看,再增加点压力也没一点事情。
------解决方案--------------------
用 AppFabric Server 做 Cache 群集。