Я прочитал документ о ребалансировке Couchbase (http://blog.couchbase.com/rebalancing-couchbase-part-i) и написал: «Клиент, потерявший соединение с кластером, попытается восстановить (настраивается). Каждый раз, когда он повторно подключается (в первый раз или нет), он получает последнюю карту, которая есть у кластера. По иронии судьбы, Теоретически ненадежная сеть может помочь постоянно обновлять карту во время перебалансировки, но это тема для другого обсуждения».
Я использую Spymemcached 2.7.3 и как мне этого добиться.
Я привожу пример: мой Java-клиент добавляет два сервера (10.0.0.40 и 10.0.0.15, используйте URL) для подключения к кластеру Couchbase. Но на самом деле при падении 10.0.0.40 постоянное соединение не держалось. Мне нужно перезапустить клиент, чтобы переключиться на 10.0.0.15. Как мой клиент может повторно подключиться к 10.0.0.15, когда 10.0.0.40 не работает, без перезапуска моего приложения.
Обновлено:
Я использую приведенный ниже код для подключения к кластеру Couchbase:
ArrayList<URI> listAddr = new ArrayList<>();
listAddr.add(new URI("http://10.0.0.40:8091/pools"));
listAddr.add(new URI("http://10.0.0.15:8091/pools"));
listAddr.add(new URI("http://10.0.0.16:8091/pools"));
client = new MemcachedClient(new BinaryConnectionFactory(), listAddr, "test", "test", "");
Я хочу, чтобы мой java-клиент автоматически переподключался к другому серверу в пуле (40,15,16), чтобы получить топологию (когда мой java-клиент все еще работает), если первый сервер в пуле (40) вышел из строя.
Могу ли я достичь этой цели с помощью spymemcahce или мне нужно перейти на Couchbase Java SDK.