Spymemcached,配置故障转移

时间:2011-02-10 13:07:27

标签: java memcached spymemcached

我有一个membase主机集群,我还有一组运行在不同盒子上的moxi进程,所有这些进程都配置为与此集群通信。

我的客户端正在使用spymemcached,我正在尝试配置MemcachedClient,因此它知道所有可用的moxi进程。这样,如果其中一个进程死掉,我希望spymemcached使用不同的moxi并继续向集群发送数据。

理想情况下,所有这一切都应该在不丢失队列信息的情况下完成。

我正在玩两个moxi进程,但无法让它做我想做的事。

我没有运气地调查http://groups.google.com/group/spymemcached/browse_thread/thread/d33ca15c0a928d37#http://groups.google.com/group/spymemcached/browse_thread/thread/f7cc37fc509b70a6/cbb967e824a0ab04?hl=en&lnk=gst&q=redistribute#cbb967e824a0ab04

有人可以告诉我这是否可以在spymemcached中使用?如果是的话,我应该如何配置呢?

我正在玩ConnectionFactoryBuilder的不同配置。

ConnectionFactoryBuilder builder = new ConnectionFactoryBuilder();
builder.setFailureMode(FailureMode.Redistribute);
builder.setProtocol(Protocol.BINARY);
builder.setLocatorType(Locator.CONSISTENT);

builder.setMaxReconnectDelay(1);
builder.setTimeoutExceptionThreshold(2);

ConnectionFactory cf = builder.build();

1 个答案:

答案 0 :(得分:0)

我不确定,但是你不能在spymemcached配置中指定多个moxi服务器吗? 据我所知,moxi支持memcached协议,spymemcached允许与多个memcached服务器通信。这意味着spymemcached将基于一致的散列算法选择一个moxi服务器,这并不重要,因为最终moc进程将选择memcached服务器。如果其中一个moxi进程死掉,spymemcached将自动切换到另一个moxi进程。