关于c#4.0:ASP.NET MVC Web应用程序中的负载平衡。 什么可以/不能做?

Load Balancing in ASP.NET MVC Web Application. What can/can't be done?

我正在开发Web应用程序时,被问到是否可以与负载均衡器一起使用的问题。我最初的反应是,因为在系统中任何地方的请求之间都没有跟踪状态。但是,在应用启动时会加载一些特定于应用的状态(主要是从数据库中进行配置设置)。

  • 此数据均为只读。依靠普通的缓存依赖机制来管理它并使集群中所有应用程序中的这些对象无效是否足够?还是我必须移至App Fabric这样的共享缓存系统以确保可靠性/一致性?

  • 启用诊断功能后,我使用EventSource.Write进行了许多日志记录调用,并且进程外记录器也将这些事件记录下来。我假设在这种情况下,我需要在集群中的每台服务器上安装一个记录器,以记录每个触发的事件。我对此不太担心,但是确定集群中哪个服务器为请求服务的好方法是什么?


  • 如果您分别初始化每个服务器上的数据并且它是只读的,那么没有问题。 单独的应用程序每个都有一个副本。

  • 是的,每个实例都需要一个记录器。 为了标识服务器,您可以将服务器的IP包含在日志中。 这样,您可以跟踪服务器。 (只要您有静态IP,但我想您有)。