@@ -25,7 +25,7 @@ select STDERR; $| = 1;
25
25
select STDOUT ; $| = 1;
26
26
27
27
my $t = Test::Nginx-> new()-> has(qw/ stream stream_upstream_least_conn/ )
28
- -> plan(12 );
28
+ -> has( qw/ stream_upstream_hash / ) -> plan(14 );
29
29
30
30
$t -> write_file_expand(' nginx.conf' , <<'EOF' );
31
31
@@ -89,6 +89,17 @@ stream {
89
89
server 127.0.0.1:8082 backup max_conns=3;
90
90
}
91
91
92
+ upstream u_hash {
93
+ hash $remote_addr;
94
+ server 127.0.0.1:8081 max_conns=1;
95
+ server 127.0.0.1:8082 max_conns=2;
96
+ }
97
+ upstream u_chash {
98
+ hash $remote_addr consistent;
99
+ server 127.0.0.1:8081 max_conns=1;
100
+ server 127.0.0.1:8082 max_conns=2;
101
+ }
102
+
92
103
server {
93
104
listen 127.0.0.1:8086;
94
105
proxy_pass u_unlim;
@@ -143,6 +154,16 @@ stream {
143
154
listen 127.0.0.1:8096;
144
155
proxy_pass u_lc_backup_lim;
145
156
}
157
+
158
+ server {
159
+ listen 127.0.0.1:8097;
160
+ proxy_pass u_hash;
161
+ }
162
+
163
+ server {
164
+ listen 127.0.0.1:8098;
165
+ proxy_pass u_chash;
166
+ }
146
167
}
147
168
148
169
EOF
@@ -207,6 +228,11 @@ is(peers(8095, '/u_lc_backup', 6), "$p1 $p1 $p2 $p2 $p2 $p2",
207
228
is(peers(8096, ' /u_lc_backup_lim' , 6), " $p1 $p1 $p2 $p2 $p2 " ,
208
229
' least_conn backup limited' );
209
230
231
+ # hash balancer tests
232
+
233
+ is(parallel(8097, ' /u_hash' , 4), " $p1 : 1, $p2 : 2" , ' hash' );
234
+ is(parallel(8098, ' /u_chash' , 4), " $p1 : 1, $p2 : 2" , ' hash consistent' );
235
+
210
236
# ##############################################################################
211
237
212
238
sub peers {
0 commit comments