我们在机器集群中的 IIS 6 上运行了许多 Web 应用程序。其中一台机器也是集群的状态服务器。我们不使用粘性 IP。
当我们需要关闭状态服务器机器时,这需要整个集群在从一台机器切换到另一台机器时离线几分钟。
有没有办法以零停机时间将状态服务器从一台机器切换到另一台机器?
我们在机器集群中的 IIS 6 上运行了许多 Web 应用程序。其中一台机器也是集群的状态服务器。我们不使用粘性 IP。
当我们需要关闭状态服务器机器时,这需要整个集群在从一台机器切换到另一台机器时离线几分钟。
有没有办法以零停机时间将状态服务器从一台机器切换到另一台机器?
您可以使用Velocity,这是 Microsoft 的一种分布式缓存技术。您将在两台或多台服务器上安装缓存。然后,您将配置您的 Web 应用程序以将会话数据存储在 Velocity 缓存中。如果您需要重新启动其中一台服务器,则集群的整个状态仍然可用。
您可以使用 SQL 服务器选项来存储状态。我过去使用过它,只要它创建的 ASPState 表在内存中,它就可以很好地工作。我不知道它作为磁盘表的扩展性如何。
如果由于某种原因不能选择 SQL Server,您可以使用负载均衡器为您的状态服务器创建一个虚拟 IP,并在需要更改时将其指向新的状态服务器。不会有停机时间,但当时在您网站上的人会失去他们的会话状态。我不知道您使用什么来进行负载平衡,所以我不知道这在您的环境中会有多困难。