Couchbase 连接 - 外部 IP 而不是内部 IP

2023-12-08

在同一个数据中心,我有一个应用程序服务器(客户端)连接到包含 3 个节点的 couchbase 集群。

我希望客户端通过内部 IP 而不是外部 IP 进行连接,以优化性能。 假设这些是我的 IP:

  • 节点1内部IP / 节点1外部IP
  • 节点2内部IP / 节点2外部IP
  • 节点 3 内部 IP / 节点 3 外部 IP

创建我的 couchbase 客户端(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?


Couchbase 使用单个地址(IP 或主机名)来标识每个集群节点。然后,这些地址会在引导时发送到客户端,以便它们可以连接到集群中的所有节点。您所看到的内容是由于您最初使用外部 IP 地址作为名称来设置集群节点,这就是客户端连接时发送给客户端的内容。

为了实现你想做的事,你需要使用主机名(管理指南)而不是使用 IP 地址来识别每个节点,然后将客户端的 DNS 配置为使用externalIP 地址,但节点的 DNS(或/etc/hosts)使用internal IP.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Couchbase 连接 - 外部 IP 而不是内部 IP 的相关文章

随机推荐

  • pandas 三路连接列上的多个数据框

    我有 3 个 CSV 文件 每个数据框中的第一列都是人名 字符串 而每个数据框中的所有其他列都是该人的属性 如何将所有三个 CSV 文档 连接 在一起以创建一个 CSV 其中每一行都具有人员字符串名称的每个唯一值的所有属性 The join
  • 仅当用户登录时从 Angular 发送 Post-requests 时,Django 403 被禁止

    我已经创建了一个后端 Django 应用程序 目前正在连接一个 Angular 前端 该前端使用 Django Rest 框架从 API 设置中请求数据 并且遇到了我登录的用户 在后端 的问题 他们在前端登录并不重要 对 API 的所有后期
  • 如何在 GLSL ES 中编写 const 数组

    我正在尝试为 iPhone 上的 OpenGL ES 应用程序编写一个简单的顶点着色器 但我的数组构造函数给我带来了麻烦 attribute vec4 normal attribute vec4 position void main voi
  • 删除 Cookie 问题

    当用户登录 www example com 时 我有一个 cookie 保存令牌 然后根据他们使用的设备将其重定向到 example com desktop 或 example com mobile 当他们注销桌面应用程序时 我将 cook
  • 正则表达式:删除第一个单词到下一行之后的所有内容

    使用什么正则表达式删除每行中除第一个单词之外的所有内容 Data JAMES 3 318 3 318 1 JOHN 3 271 6 589 2 ROBERT 3 143 9 732 3 我正在尝试在 Notepad 中执行此操作作为替代 您
  • 检查方法的参数是否由用户设置

    有没有办法检查方法的参数是由方法本身设置的默认值还是由调用该方法的用户设置的 例如 这是我想要在我的方法中执行的操作 def json prop key value nil json data if json data nil return
  • UTF-8 兼容截断函数

    有人遇到过复杂的拉丁字符 例如越南语 的这个问题吗 function truncate str length append strLength mb strlen str if strLength lt length return str
  • 可以使用地图 v2 创建透明信息窗口吗?

    大家好 有个问题 我这样应用infowindows的背景 android background 55000000 但它后面似乎总是有一个白色的背景 有可能去掉它吗 谢谢你 实现您自己的 InfoWindowAdapter 以定制设计 inf
  • NServicebus - 一个端点多个处理程序线程

    我有两个端点 端点1 消息处理程序 X 消息处理程序 Y 消息处理程序 Z 网络端点 此时没有处理程序 只是向总线发送命令 发生以下情况 Web gt 发送 端点1 收到消息 端点 1 处理 MessageX 并在 Handler Bus
  • 如何从交易队列中删除非常旧的、已失效的应用内购买

    我的公司最近将 iOS 应用程序的开发外包给第三方开发商 该应用程序包含大量应用内购买 开发人员向我们发送了各种版本 其中许多是 pre alpha 版本并且包含错 误 因此 我的手机 iPhone 4S 似乎有很多无效的应用内购买尝试 导
  • Unity 交叉口蒙版

    有没有办法检测具有一定数量顶点的物体是否撞击平面 如果是这样 我想将其以二进制 黑 白 绘制到平面上或用它创建纹理 而且我也不关心这是否只能通过光线投射或一些棘手的物理操作 着色器 等来创建 我只是想知道什么数学算法可以创建这个 Here
  • “Ionic start projectName”不适用于 Ionic Framework

    我在用Ubuntu 14 04 我遵循了一些关于如何在 Ubuntu 14 04 上安装 Ionic Framework 的教程 包括官方指南 基本上只是执行以下操作 sudo npm install g ionic sudo npm in
  • 如何将自定义文件浏览器/上传器与 CKEditor 集成?

    官方文档不太清楚 将自定义文件浏览器 上传器与 CKEditor 集成的正确方法是什么 v3 不是 FCKEditor 首先在实例化 CKEditor 时注册您的自定义浏览器 上传器 您可以为图像浏览器和一般文件浏览器指定不同的 URL
  • Gnuplot pm3d 未绘制所有数据

    我有一个如下所示的文本文件 0 0 1 0 1 1 1 0 1 1 1 1 我正在策划这个with pm3d调色板中的颜色数量设置为两种 我期待的是四个正方形 两个白色和两个黑色 位于相对的角落 然而 当我绘制这个图时 我只得到一个 1 x
  • 如何在groovy中修改JSON

    我使用 JsonBuilder 构建 JSONObject String 但是 如何更新 更改此 JSONObject String 中的一个字段的值 我没有看到使用 JsonBuilder 执行此操作的可能性 那我用什么节目呢 If yo
  • 我无法从 Android 应用程序调用 servlet

    这是我的安卓应用程序 package org me sampleandroidservlet import android app Activity import android os Bundle import android widge
  • Android 中使用千位分隔符 (,) 格式化的“EditText 和 TextView”

    当我在 editText 中输入时 我想要在 EditText 中使用千位分隔符 之后 我将对数字进行一些操作 然后通过千位分隔符 在 TextView 中显示结果 这是我的代码 public class Mainactivity exte
  • 手动激活选项卡 jquery ui 1.10.3

    我真的很生气 我搜索了jquery uidoc和 stackoverflow 的问题 很多问题 但我不知道如何手动激活选项卡 tabs 在 jquery 1 10 中 我创立并尝试了这个解决方案 mytabs tabs option act
  • 保存 Kivy 应用程序的登录屏幕用户名和密码

    我正在开发适用于 iOS 和 Android 的 Kivy 应用程序 并且需要帮助来保持用户持续登录 即使在应用程序关闭或终止后也是如此 我正在使用 Parse 来存储用户凭据 我已经向 App 类添加了一个 on pause 方法 但这仅
  • Couchbase 连接 - 外部 IP 而不是内部 IP

    在同一个数据中心 我有一个应用程序服务器 客户端 连接到包含 3 个节点的 couchbase 集群 我希望客户端通过内部 IP 而不是外部 IP 进行连接 以优化性能 假设这些是我的 IP 节点1内部IP 节点1外部IP 节点2内部IP