ASP.NET网站负载均衡中的跨服务器通信

4
我的ASP.NET应用程序在一个可访问的应用程序static字段中存储一些昂贵(加载)的数据(在这种情况下使用System.Web.Caching.Cache是不合适的)。
我的应用程序还跨多台Web服务器负载均衡,并在另一台机器上拥有中央SQL Server。
在某些情况下,将使此缓存失效。如果用户在Server01上提交了一些更新的数据,则该应用程序知道它可以在将数据提交到数据库时清除其本地缓存。
但是,如何通知Server01更改以便使Server02的缓存失效?
我不知道ASP.NET中是否有任何内置的服务器间IPC用于Web Farm通信,似乎我必须在应用程序中创建URI处理程序(例如,http://mysite/InvalidateCache),然后由其他服务器调用,但这似乎有些hackish。有更好的方法吗?
2个回答

3

我有点脑抽,突然意识到Web服务器之间可以通过发送请求来进行通信 - 没有必要使用特殊的侧通道线路。我之前称这个想法为hackish,但理论上它是可行的。

显然,出于安全考虑,这些请求需要通过物理私有网络连接,或者具有加密签名的请求,但我现在真的想不出这种方法有什么问题了。


我处于同样的情况,正在考虑同样的解决方案。你尝试过吗?效果如何? - Joshua Frank

1

呃,不,不要这样。它已经被微软放弃了,而我们公司正在积极试图从我们的架构中摆脱它。我知道你的帖子已经两年了,所以我不会点踩,只是让人们知道一下。 - Jonathon Cwik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接