与负载均衡器的连接
通常,应用程序部署使用负载平衡器来防止来自压倒性服务器的请求,即防止客户端直接访问服务器。
备注
此配置适用于使用循环方法的负载平衡器。
重要
确保负载均衡器中未启用粘性会话。
在这种情况下,为了确保您的客户端连接到集群中的所有机器(这对于两个机器都是必要的) 分区的 和 分区副本 拓扑), NCache 提供 is-load-balancer
组态。
此配置的工作原理是使用多个请求与连接到负载均衡器的所有所需服务器建立连接。例如,假设您有一个负载均衡器连接到三台服务器,其中 NCache 已经连接到服务器1,需要连接其他服务器,那么它会重复发送请求,直到依次连接到服务器2和服务器3。第一个连接建立后,负载均衡器向服务器2发送第二个请求, NCache 将收到服务器 ID 并同意在继续之前建立连接,如下所示。
但是,如果负载均衡器将请求发送到服务器 3, NCache 将拒绝连接并重试,如下所示。此过程将继续,直到连接到所有服务器或达到指定的重试次数(load-balancer-connection-retries
).
备注
默认数量 load-balancer-connection-retries
is 15 最小重试次数为 2.
重要
load-balancer-connection-retries
标记表示每次定期连接重试(即连接重试)提示负载均衡器的频率。因此,如果 connection-retry= 3
和 load-balancer-connection-retries= 15
,每次重试都会向负载均衡器提示 15 次,总共向负载均衡器发出 45 次提示,以使客户端连接到正确的计算机。
备注
所有连接尝试都会被记录。
配置 NCache 解决负载均衡器问题
要启用此标志,您可以编辑 客户端.ncconf 文件(可在 %NCHOME%\config
在Windows中或 opt/ncache/config
在Linux中)通过设置 is-load-balancer
为 True,如下:
<configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" load-balancer-connection-retries = "15" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800" local-server-ip="20.200.20.40" enable-keep-alive="False" keep-alive-interval="30"/>
<cache id="demoCache" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="True" log-level="info">
<server name="20.200.20.40" is-load-balancer="True"/>
</cache>
</configuration>
备注
您还可以使用以下命令以编程方式执行此操作 缓存连接选项 API.