Hello!
I have written following config file:
frontend http-in
bind *:8010
default_backend gateway
frontend http-in-1
bind *:8011
default_backend bucket-1
frontend http-in-2
bind *:8012
default_backend bucket-2
backend gateway
balance url_param hello
hash-type consistent
server lb-1-1 localhost:8011
server lb-1-2 localhost:8012
backend bucket-1
balance roundrobin
server server1-1 hello_web_1:4000 check
server server1-2 hello_web_2:4000 check
server server1-3 hello_web_3:4000 check
backend bucket-2
balance roundrobin
server server2-4 hello_web_4:4000 check
server server2-5 hello_web_5:4000 check
The idea behind it is to always forward traffic to the same bucket based on parameter in URL and then split it on multiple workers inside bucket.
Following configuration is equal to two loadbalancers behind a gateway. I am not happy with this solution, cause it requires 4 IO operations to process a packet.
I was wondering, could it only forward traffic from one backend to another. In this situation from gateway directly to bucket-1 and bucket-2? This operation should be done on CPU.