2017-09-25 1 views
1

J'ai cette application AngularJS qui utilise une API REST backend écrite dans SpringBoot. Je veux exécuter plusieurs instances de cette API backend sur différents ports, en utilisant SpringBoot. Comment puis-je équilibrer la charge entre ces instances SpringBoot?Comment charger l'équilibre parmi les instances SpringBoot

J'ai essayé avec Apache, mais il ne semble pas fonctionner:

ProxyRequests off 
<Proxy balancer://mycluster> 
    BalancerMember http://54.152.52.248:9999/restApi/v1 loadfactor=5 
    BalancerMember http://54.152.52.248:9898/restApi/v1 loadfactor=5 
    # Set counting algorithm to more evenly distribute work: 
    ProxySet lbmethod=byrequests 
</Proxy> 

<Location /balancer-manager> 
    SetHandler balancer-manager 
</Location> 

ProxyPass /balancer-manager ! 
ProxyPass/balancer://mycluster/ 

Les membres d'équilibrage correspondent à deux processus Java, ports différents. Ce que j'essaie de faire ci-dessus est de définir le contexte/gestionnaire de solde qui va être géré par un proxy qui à son tour va distribuer des demandes à ces membres de l'équilibreur; si je peux prouver que cela se produit, je peux continuer avec des sessions collantes et du genre.

L'objectif est que le client de repos angulaire demande à ce seul gestionnaire d'équilibrage/some_service/some_parameters/et que ce proxy fasse la redirection appropriée, ce qui ne va pas se passer avec ce qui précède.

Des idées si cela devrait fonctionner?

Merci.

+1

Ce que cela a à voir avec AngularJS? – quirimmo

+0

Avez-vous regardé Hystrix? –

Répondre

0

Vous pouvez essayer le modèle API Gateway avec Spring Cloud Netflix. Zuul et Ribbon agissent comme proxy et équilibreur de charge, distribuent les requêtes aux différentes instances d'applications.

API Gateway Pattern Spring Cloud Netflix