1
0
Fork 0

WeightedRoundRobin load balancer

Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
This commit is contained in:
Julien Salleyron 2019-08-26 10:30:05 +02:00 committed by Traefiker Bot
parent 84de444325
commit 6fed76a687
44 changed files with 1612 additions and 833 deletions

View file

@ -56,7 +56,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {LoadBalancer: &dynamic.LoadBalancerService{
"app": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -110,7 +110,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {LoadBalancer: &dynamic.LoadBalancerService{
"app": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -156,7 +156,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
Services: map[string]*dynamic.Service{
"app": {LoadBalancer: &dynamic.LoadBalancerService{
"app": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -200,7 +200,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {LoadBalancer: &dynamic.LoadBalancerService{
"Service1": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:8080",
@ -249,7 +249,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {LoadBalancer: &dynamic.LoadBalancerService{
"Service1": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:8080",
@ -300,7 +300,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"foo": {LoadBalancer: &dynamic.LoadBalancerService{
"foo": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:8080",
@ -308,7 +308,7 @@ func TestBuildConfiguration(t *testing.T) {
},
PassHostHeader: true,
}},
"bar": {LoadBalancer: &dynamic.LoadBalancerService{
"bar": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:8081",
@ -343,7 +343,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -382,7 +382,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {LoadBalancer: &dynamic.LoadBalancerService{
"Service1": {LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -420,7 +420,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -451,7 +451,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -495,7 +495,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -529,7 +529,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -539,7 +539,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"Service2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -629,7 +629,7 @@ func TestBuildConfiguration(t *testing.T) {
},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -639,7 +639,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"app2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -686,7 +686,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -696,7 +696,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"app2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -734,7 +734,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -744,7 +744,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"app2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -789,7 +789,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -830,7 +830,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -840,7 +840,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"app2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -877,7 +877,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -915,7 +915,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "h2c://localhost:90",
@ -948,7 +948,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"Service1": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -958,7 +958,7 @@ func TestBuildConfiguration(t *testing.T) {
},
},
"Service2": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:8080",
@ -1123,7 +1123,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -1161,7 +1161,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -1198,7 +1198,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"a_b_app": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",
@ -1362,7 +1362,7 @@ func TestBuildConfiguration(t *testing.T) {
Middlewares: map[string]*dynamic.Middleware{},
Services: map[string]*dynamic.Service{
"bar": {
LoadBalancer: &dynamic.LoadBalancerService{
LoadBalancer: &dynamic.ServersLoadBalancer{
Servers: []dynamic.Server{
{
URL: "http://localhost:80",