1

我们在与我们的应用服务器相同的节点上运行 memcache。如果 Web 应用程序需要来自 memcached 的项目,出于显而易见的原因,我们希望访问本地 memcache 实例,但如果它没有启动,则默认为绑定多个远程 memcache 实例的集群地址。

这似乎在 spymemcached 中有效,它首先使用 localhost,除非 localhost 不可用。

MemcachedClient client = new MemcachedClient(
  AddrUtil.getAddresses(
    "localhost:11211 memcachecluster:11211"));

我们唯一的问题是,如果localhost不可用,客户端会求助于memcachecluster,这对于故障转移来说很好,但是我们有很多 memcache 实例正在监听该地址,因此localhost即使它也不太可能再次被使用除非应用服务器被回收,否则我们通常会在部署期间这样做,但不会那么频繁地重新上线。

有没有办法让 spymemcached 总是更喜欢 localhost,只要它可用,即使客户端有其他地址?

4

0 回答 0