【问题标题】:Is there a way for the cache to stay up without timeout after crash in AppFabric Cache?有没有办法让缓存在 AppFabric 缓存崩溃后保持不超时?
【发布时间】:2011-01-26 09:14:11
【问题描述】:

首先我的设置用于测试目的:

  • 3 虚拟机运行以下配置:
    • MS Windows 2008 服务器标准版
    • 最新版本的 AppFabric 缓存
    • 每一个都有一个本地网络共享存储配置文件(我在每个配置中添加了所有机器)
    • 缓存是分布式的,但不是高可用性(我们没有 Windows 企业版)
    • 每台主机都配置为引导,因此根据文档,至少应允许一台主机崩溃。
    • 每台机器都安装了我测试的网站,并配置了本地缓存
  • 一台 linux 机器用作代理(使用清漆)分发流量以进行测试。

这就是设置,现在解决问题。我正在测试的场景是模拟其中一台服务器崩溃,然后将其带回集群。我在服务器崩溃和恢复时都遇到了问题。我用来测试它的步骤:

  • 在 linux 机器上使用 Varnish 将流量仅定向到一台服务器。
  • 登录以确保缓存中有内容。
  • 拔掉另一台服务器的网线(模拟该服务器崩溃)

现在我得到一个缓存超时并且我得到一个服务错误。我希望应用程序仍然在没有崩溃的服务器上运行,并且缓存需要一些时间才能在剩余的服务器上恢复。应该是这样吗?重新插入网络电缆并启动主机会导致类似的问题。

所以我的问题是我是否遗漏了什么?我希望看到的是,如果一台服务器崩溃,缓存应该仍然保持上升,因为大多数线索仍然存在,并且再次启动崩溃的服务器应该将其优雅地带回集群,而不会导致任何问题其他主机。但这可能不是它的工作原理?

【问题讨论】:

    标签: appfabric


    【解决方案1】:

    几个月前,我经历了一个类似的测试场景,其中我有一个测试客户端在具有各种 Puts、Gets 和 Removes 的 3 主服务器集群上生成负载。在负载测试运行并且缓存保持在线时,我多次重新启动了其中一台服务器。如果我没记错的话,服务器重新启动时出现的错误数量有限,但总体而言缓存似乎保持健康。

    我不确定为什么您没有看到类似的结果,但我会尝试从您的测试中删除 Varnish 代理,看看是否有帮助。

    【讨论】:

    • 我认为它工作正常,但问题可能是我没有企业服务器版本。
    猜你喜欢
    • 2011-08-28
    • 2012-01-18
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多