客户端配置 (client.ncconf)
该客户端配置文件(客户端.ncconf)被使用 NCache 客户端 API 用于获取建立与服务器连接所需的初始信息。该文件定义了连接重试次数、超时时间和本地及远程缓存的端口设置等关键参数。它支持流畅的集群通信,并支持端口转发等高级网络功能。
此文件适用于客户端节点上运行的所有客户端实例。它位于: %NCHOME%\config 在Windows中或 /opt/ncache/config 在 Linux 中。对于需要读取配置的模块,它们首先尝试找到 客户端.ncconf 文件。如果他们找不到 客户端.ncconf 在应用程序文件夹中,然后他们从安装文件夹中读取配置。
客户端配置文件允许本地和远程客户端连接到缓存。此外,远程客户端也使用此配置文件连接到远程缓存。每次创建新的缓存/集群时,此文件都会自动更新。同样,每次应用新的缓存/集群配置设置时,它都会更新。但是,这只会在以下情况下发生: NCache 安装在机器上,并且 NCache 服务正在运行。
注意:
可以通过以下方式指定相同的配置 缓存连接选项 中的API Alachisoft.NCache.Client SDK。有关如何在初始化缓存时使用 API 的更多详细信息,请参阅 连接到缓存页面 ,在 开发者指南.
重要提示
通过指定的配置 CacheConnectionOptions 将覆盖 客户端.ncconf。尽管,这只对于指定它们的客户端才有效。
client.ncconf 的 XML 配置语法
客户端配置文件说明如下。
<configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.38" enable-keep-alive="False" keep-alive-interval="30"/>
<cache id="demoCache" client-cache-id="" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="False" log-level="error">
<server name="20.200.20.38" is-load-balancer="True"/>
<server name="20.200.20.39" is-load-balancer="True"/>
</cache>
</configuration>
关键配置标签和属性
以下部分解释了文件语法中提到的标签。
此标签定义了客户端到服务器的默认连接设置。 NCache 客户端。这些设置控制连接重试次数、重试间隔、命令重试次数、请求超时、连接超时、客户端端口、本地服务器 IP 和保持连接行为。
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.38" enable-keep-alive="False" keep-alive-interval="30"/>
连接重试:指定客户端对列表中提到的所有服务器进行的重试次数。 客户端.ncconf 在建立连接时或连接断开后,该文件会被保存。默认情况下,其值为:
3.重试连接延迟:指定客户端 API 在进行下一次连接重试迭代之前等待的时间间隔(以秒为单位)。默认值为
0 second.重试间隔如果连接断开且客户端尝试重新连接,此标志指定每次连接尝试之间的间隔。间隔以秒为单位,默认值为 0。
1 second例如,如果重试间隔设置为 3 秒,则客户端每次重试前将等待 3 秒。命令重试:确定在客户端与缓存服务器之间的连接断开并重新建立后,命令执行的次数,以确保命令成功执行。默认值为 10。
3.命令重试间隔:指定两次连续命令重试之间的时间间隔。默认值为
0.1 second.客户端请求超时:指定客户端 API 等待服务器响应命令的时间段。此时间段过后,将停止响应。
OperationFailedException抛出异常。默认情况下,此时间段为90 seconds最小值为 60 秒。如果时间跨度小于最小值,则会自动重置为最小值,即 60 秒。连接超时:确定在连接中断期间,当一个线程尝试与缓存服务器建立连接时,线程在抛出 OperationFailedException 之前等待的时间段。如果连接成功建立,则所有线程将完成各自的操作。否则,它们将抛出 OperationFailedException。默认值为 。
5 seconds.端口:指定端口 NCache 服务器启动并接受来自多个客户端的连接。此端口的默认值为
9800可以通过服务配置文件进行更改。本地服务器 IP:指定运行特定 NCache 实例。
启用保持活动:指定客户端和服务器之间的连接是否应保持“活动”状态。如果客户端变为非活动状态(即,未与已连接的服务器通信),它将根据缓存拓扑中配置的间隔定期 ping 服务器节点。如果防火墙会断开空闲的网络连接,或者防火墙会主动检测断开连接,则此功能尤其有用。默认情况下,此功能处于开启状态。
False.保活间隔:确定空闲客户端向服务器发送心跳包以维持连接的间隔时间(以秒为单位)。间隔时间范围为 1 到 7200 秒,默认值为 1。
30 seconds。如果指定的任何值超出范围, NCache 诉诸使用默认值。
此标签定义了特定缓存的客户端连接设置。
<cache id="demoCache" client-cache-id="" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="False" log-level="error">
<server name="20.200.20.38" is-load-balancer="True"/>
<server name="20.200.20.39" is-load-balancer="True"/>
</cache>
id:指定缓存的唯一 ID。
客户端缓存 ID:指定客户端缓存的唯一 ID。
如果不可用则跳过客户端缓存:指定当配置的客户端缓存不可用时,客户端是否应继续对集群缓存执行操作。默认值为 true。
True.重新连接客户端缓存间隔:指定客户端节点等待再次尝试连接客户端缓存的时间间隔(以秒为单位)。默认值为 100。
10 seconds.默认读取提供程序:获取/设置
default-readthru-provider如果通过 API 指定提供程序,则该值将被从 API 传递的值覆盖。默认写入提供程序:获取/设置
default-writethru-provider如果通过 API 指定提供程序,则该值将被从 API 传递的值覆盖。负载均衡启用此标志后,客户端会尝试根据已连接客户端的数量连接到最佳服务器。这有助于在集群缓存中的每个节点上保持几乎相等的客户端数量,并防止任何单个节点过载。默认情况下,此标志处于禁用状态。
False.启用客户端日志:指定是否为此缓存启用客户端日志记录。如果设置为 True,客户端将记录缓存活动的日志信息。如果设置为 False,则禁用客户端日志记录。默认值为 False。
False.日志级别:指定启用客户端日志时使用的客户端日志级别。可选值包括 error、info 和 debug。默认值为 。
error.
姓名:指定运行 NCache 实例。
负载均衡器此标志确保客户端连接到集群中的所有机器。默认值为:
False您需要手动添加此标签。 客户端.ncconf 文件中。
端口转发配置
注意:
如果您的缓存服务器和客户端应用程序位于同一子网上,则无需配置端口转发。
如果您的缓存服务器和客户端位于不同的子网或网络中,您的客户端应用程序可能无法直接通过 IP 地址访问缓存服务器。在这种情况下,您需要配置端口转发并修改您的配置。 客户端.ncconf 相应地归档。
端口转发的客户端配置语法
下面解释了端口转发的客户端配置文件。
<configuration>
...
<server-end-point>
<end-point public-ip="20.200.20.38" public-ports="9801" private-ip="172.19.0.11" private-ports="9800"/>
<end-point public-ip="20.200.20.38" public-ports="1250-1260" private-ip="172.19.0.11" private-ports="8250-8260"/>
<end-point public-ip="20.200.20.38" public-ports="1300-1400" private-ip="172.19.0.11" private-ports="8300-8400"/>
<end-point public-ip="20.200.20.38" public-ports="9802" private-ip="172.19.0.12" private-ports="9800"/>
<end-point public-ip="20.200.20.38" public-ports="2250-2260" private-ip="172.19.0.12" private-ports="8250-8260"/>
<end-point public-ip="20.200.20.38" public-ports="2300-2400" private-ip="172.19.0.12" private-ports="8300-8400"/>
</server-end-point>
</configuration>
了解端口转发的客户端配置标签
以下部分解释了文件语法中提到的标签。
这些代表将用于与 NCache 服务器。以下是示例 客户端.ncconf 配置了端口转发的文件。
终点:为一个公共端点到私有端点的映射定义一个 NCache 服务器。IP地址和端口的组合。
公网IP:指定可公开访问或存在于本地网络外部的地址。
公共端口:指定
public-ports将用于访问私有端口。私有IP:指定本地网络中存在但无法直接访问的地址。这是设备使用的 IP 地址。 NCache 服务器。
私有端口这些端口无法直接访问,但被以下人员使用: NCache 服务器。