В том же центре обработки данных у меня есть сервер приложений (клиент), который подключается к кластеру Couchbase, содержащему 3 узла.
Я хотел бы, чтобы клиент подключался через внутренний IP-адрес, а не внешний для оптимизации производительности. Предположим, что это мои IP-адреса:
- node1InternalIP / node1ExternalIP
- node2InternalIP / node2ExternalIP
- node3InternalIP / node3ExternalIP
При создании моего клиента диванной базы (java-код) я предоставляю свои внутренние IP-адреса, но когда соединение установлено, я получаю следующие журналы:
2014-07-28 12:33:21.030 INFO net.spy.memcached.auth.AuthThread: Authenticated to /node1InternalIP :11210
2014-07-28 12:33:21.142 INFO net.spy.memcached.auth.AuthThread: Authenticated to /node2InternalIP :11210
2014-07-28 12:33:21.253 INFO net.spy.memcached.auth.AuthThread: Authenticated to /node3InternalIP :11210
2014-07-28 12:33:21.374 INFO com.couchbase.client.vbucket.provider.BucketConfigurationProvider: Carrier config not available, bootstrapped through HTTP.
2014-07-28 12:33:21.544 INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=cache2.lac.company.info/node1ExternalIP:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-07-28 12:33:21.545 INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=cache3.lac.company.info/node2ExternalIP:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2014-07-28 12:33:21.545 INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=cache4.lac.company.info/node3ExternalIP:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
Таким образом, кажется, что аутентификация выполняется по внутреннему IP-адресу, но само соединение проходит через внешний IP-адрес, что меня беспокоит.
Кроме того, время от времени я получаю CheckedOperationTimeoutException:
net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting for operation - failing node: cache2.lac.company.info/node1ExternalIP:11210
Исключение показывает, что клиент получает тайм-аут от внешнего IP-соединения.
Как я могу убедиться, что мое соединение будет использовать внутренние IP-адреса?