Используйте клиент xmemcached для доступа к AWS ElastiCache

Мы используем memcached в Java. Наша среда работает на OpenShift Online (PaaS), и в настоящее время у нас есть один "механизм", запускающий наше серверное Java-приложение, и один "механизм", выполняющий memcached.

Поскольку это будет дешевле, мы хотели бы перейти на AWS ElastiCache, но без изменения нашего текущего клиента memcached, который является xmemcached. Но как мы должны иметь дело с аутентификацией? Я попытался [Идентификатор ключа доступа] / [Секретный ключ доступа]:

MemcachedClient memcachedClient;

MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses([aws node endpoint]));
builder.setCommandFactory(new BinaryCommandFactory());
builder.addAuthInfo(AddrUtil.getOneAddress([aws node endpoint]), AuthInfo.plain([Access Key ID], [Secret Access Key]));

memcachedClient = builder.build();

Нет успеха Я всегда получаю исключение:

net.rubyeye.xmemcached.exception.MemcachedException: There is no available connection at this moment

Такое же исключение я получу, если вообще не буду выполнять аутентификацию.

Я знаю, что было бы лучше использовать клиент AWS; но поскольку мы на самом деле используем только один узел, нам не нужно автоматическое обнаружение. Дело в том, что у нас есть некоторые другие memcached серверы, например, в тестовой / локальной среде, которые, вероятно, не поддерживаются клиентом aws (или я ошибаюсь?).

0 ответов

Другие вопросы по тегам