加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Web场中的nHibernate策略

发布时间:2020-12-16 09:57:07 所属栏目:asp.Net 来源:网络整理
导读:我们当前的工作项目是一个新的MVC网站,它将主要使用WCF服务通过Web服务访问第三方计费系统,以及用于个性化用户的小型SQL数据库. WCF服务将nHibernate用于SQL数据库. 我们希望实现某种Web场以实现负载平衡以及故障转移和维护.如果有多个WCF服务在运行,我正在
我们当前的工作项目是一个新的MVC网站,它将主要使用WCF服务通过Web服务访问第三方计费系统,以及用于个性化用户的小型SQL数据库. WCF服务将nHibernate用于SQL数据库.

我们希望实现某种Web场以实现负载平衡以及故障转移和维护.如果有多个WCF服务在运行,我正在尝试决定处理nHibernate缓存和数据库并发的最佳方法.

我一直在考虑的一些场景……

1)多个IIS服务器,一个WCF服务器.使用此设置,WCF服务器将是单点故障,但nHibernate缓存或数据库并发性不会出现问题.

2)多个IIS服务器,每个服务器都有自己的WCF服务.这消除了单点故障,但现在一台机器上的nHibernate不知道另一台机器完成的数据库更改.

对于数字2的一些解决方案是使用IStatelessSession,因此我们不进行任何缓存,并且nHibernate总是直接从数据库中获取.这可能是最可行的,因为我们的个性化数据库中只有很少的对象.我也在考虑二级缓存,例如memcached或Velocity,但这对于这个系统来说可能有些过分.

我把它放在那里,看看是否有人有这种架构的经验,并获得一些解决方案的想法.谢谢!

解决方法

我在这里遗漏了什么,我没有看到网络服务器上的nhibernate有问题.
应用程序缓存不会有问题,因为每个nhibernate框都会保留自己的缓存,这些缓存将从数据存储区填充.查看创建一个可以监视的表,以便进行缓存刷新.我们曾经使用.net 2.0中的CacheDependency类来执行此操作,该类将检测对列的更改,然后从缓存中删除相关项.因此,如果用户插入新产品,缓存将被删除,下一次获取产品的调用将再次加载缓存.这是旧的但退房: http://msdn.microsoft.com/en-us/magazine/cc163955.aspx#S2的概念.干杯

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读