upsync_lb

`upsync_lb` 指令为从 Consul 或 etcd 等后端服务注册表同步数据的上游服务器配置负载均衡行为。

语法upsync_lb number;
默认值none
上下文upstream
参数1

说明

upsync_lb 指令在一个 upstream 块中使用,用于指定在从 Consul 或 etcd 等外部服务注册表同步上游服务器配置时应如何处理负载均衡。启用后,它会指示 NGINX 服务器动态维护更新的后端服务器属性,而无需重新加载服务器。这包括诸如服务器权重和最大失败设置等属性。它有助于在运行时简化流量管理,便于根据实时服务可用性和性能指标进行自动调整。

该指令接受一个参数,指定预期的负载均衡策略或模式。它的集成对于在服务状态频繁变化时保持上游配置同步的最佳状态至关重要。通过使用 upsync_lb,管理员可以确保从应用流量的角度来看,在扩容或缩容期间或在健康检查导致服务器状态变化时不会出现突发的性能瓶颈或停机。

配置示例

upstream test {
    upsync 127.0.0.1:8500/v1/kv/upstreams/test/ upsync_timeout=6m upsync_interval=500ms upsync_type=consul strong_dependency=off;
    upsync_lb 1;
    upsync_dump_path /usr/local/nginx/conf/servers/servers_test.conf;

    include /usr/local/nginx/conf/servers/servers_test.conf;
}

确保负载均衡方法与后端服务和流量模式兼容。

参数值不正确可能导致意外的服务停机或性能下降。

在 upsync 配置期间,并非所有负载均衡策略都受支持。请参照模块文档核实。

← 返回所有指令