Nginx负载均衡--TCP/UDP流
行使ngx_stream_upstream_module模块(默认是编译进来的)的upstream指令。指令语法:
界说一组处事器。 处事器可以侦听差异的端口。 另外,可以殽杂侦听TCP和UNIX域套接字的处事器。 在顶级stream{}上下文中界说一个或多个upstream{}设置块,并配置upstream组的名称,譬喻TCP处事器的stream_backend和UDP处事器的dns_servers:
设置upstream组行使的负载平衡要领。 可以指定以下要领之一: 1.Round Robin:默认环境下,NGINX行使轮回算法对流举办负载均衡,将其次序指向设置的upstream组中的处事器。由于它是默认要领,以是没有round-robin指令;只需在顶级stream{}上下文中建设upstream{}设置块, 2.起码毗连(Least Connections)–nginx选择当前勾当毗连数较少的处事器。
3.起码时刻-NGINX Plus选择均匀耽误最低且勾当毗连数起码的处事器。 用于计较最低均匀耽误的要领取决于least_time指令中包括以下哪个参数:
A. connect - 毗连upstream处事器的时刻 B. first_byte - 吸取数据的第一个字节的时刻 C. last_byte - 从处事器吸取完备相应的时刻,假如指定了inflight参数(1.11.6+),则还会思量不完备的毗连。 4.哈希 - NGINX按照用户界说的key,选择处事器。
Hash负载均衡要领还用于设置会话耐久性。 因为散列函数基于客户端IP地点,因此来自给定客户端的毗连始终转达到统一处事器,除非处事器已封锁或不行用。 指定可选的consistent参数以应用ketama同等性散列要领:
5.random - 每个毗连将转达给随机选择的处事器。 假如指定了two参数,起首,NGINX会思量处事器权重随机选择两台处事器,然后行使指定的要领选择个中一台处事器: Syntax: random [two [method]];Default: —Context: upstreamThis directive appeared in version 1.15.1. A. least_conn - 勾当毗连数起码 B. least_time=connect - 毗连上游处事器的时刻($upstream_connect_time)少了美元标记 C. least_time=first_byte - 从处事器吸取第一个数据字节的均匀时刻最短($upstream_first_byte_time) D. least_time=last_byte - 从处事器吸取最后一个数据字节的均匀时刻最短($upstream_session_time) 随机负载均衡要领应该用于多个负载平衡器将哀求转达到统一组后端的漫衍式情形. 示例:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |