9
votes

Équilibrage de la charge R demandes d'arrivée à Raerve

J'ai 6 boîtes Linux en cours d'exécution et servant le même jeu de scripts R.

RConnection rServeConnection = new RConnection(R_SERVE_SERVER_ADDRESS, R_SERVE_SERVER_PORT);


4 commentaires

Je ne pense pas que Raerve est http?


Oui .. Raerve n'est pas http. Il se connecte via une prise TCP / IP. IP: 6311 @Jeen


On dirait que plus de gens cherchent la même solution. Voici une solution de travail. Frappe si cela aide. Stackoverflow.com/a/39052040/1057093


Bien d'entendre ça! Je pense que la leçon ici était de trouver un TCP approprié et non seulement l'équilibrage de la charge HTTP.


3 Réponses :


0
votes

Si vous ne l'avez pas déjà fait et que vous travaillez déjà en Java, commencez par vous connecter à vos serveurs Reserve de Java et exécutez un script simple «Hello World» sur eux, comme indiqué dans le Exemples de cran

Une fois que les instances de la Raerve fonctionnent bien, vous devez alors effectuer une balance de chargement de Java ou créer un programme Java par serveur et laisser Apache Load balance entre eux. Dans les deux cas, vos programmes Java devront servir http car vous avez toujours besoin d'un lien entre HTML et Raerve.


4 commentaires

Connexion de Java à réserver Même pour un type de demande / de réponse complexe si elle est supérieure à une connexion distante. La seule chose est nécessaire de savoir pourquoi l'équilibrage de la charge des sites Web ne fonctionne pas. Ne préfère pas la réserve connectée HTTP comme Apache continuera à envoyer une demande à Java tant que Java / Tomcat répond à Java / Tomcat, même si la réserve derrière elle n'est pas. De plus, cela ajoute un houblon supplémentaire pour atteindre R. Pourquoi ne pas accomplir directement sur la charge? Pouvez-vous s'il vous plaît partager vos idées à ce sujet?


Je veux dire, pourquoi ne pas charger directement une prise TCP / IP sans avoir besoin d'équilibrage de la charge HTTP, ce qui ajoute du saut et du risque d'échec supplémentaires.


Si vous souhaitez vous connecter directement aux instances Raerve, vous devez extraire le code source pour RSERVE - ou l'un des adaptateurs disponibles - et déterminez le protocole sur le fil sur le fil. Ce qui va réellement sur le fil lorsque vous faites un: rconnection c = nouvelle rconnection (); C.Assign ("X", Datax); C.Assign ("Y", Datay); Rlist l = c.eval ("lowess (x, y)"). Aslist (); Si vous utilisez l'un des adaptateurs existants (Java, C / C ++, PHP), vous n'avez pas à vous soucier de le format sur le fil.


Il existe un proxy inversé TCP disponible (comme Ha Proxy) que j'essaie. Avec cela, nous n'aurons pas besoin du piratage ci-dessus. Je comprends encore comment configurer Haproxy pour le trafic TCP cependant.



1
votes

Je ne suis pas sûr si cela est réalisable avec Apache Mod_Proxy. Je pense que cela ne fonctionnera que avec le protocole HTTP. Peut-être que vous pouvez essayer une preuve de configuration de concept avec Nginx. Il prend en charge l'équilibrage de la charge des connexions TCP et UDP ordinaires. Il vous permet également des méthodes d'équilibrage de charge de la charge todefine (par exemple rond-robin, etc.).

La configuration serait la suivante: xxx

Vous pouvez trouver plus d'informations dans la documentation NGinx : https://www.nginx.com/resources/admin-guide/ TCP-LOAD-ÉQUILIANT / et ICI: https://nginx.org/en/docs/stream/ngx_stream_core_module.html


3 commentaires

L'équilibrage de la charge TCP est ajouté à Nginx depuis la version 1.9, tandis que j'ai la possibilité d'utiliser 1.6.3 uniquement (limitation de repo d'entreprise). Donc, en regardant Haproxy (1.5.14) comme un alternant proxy inversé TCP. Pourtant, pour trouver une configuration de base qui peut charger la balance du trafic TCP. Ne pas trouver une bonne documentation sur la même chose. Toute entrée sur ce sera vraiment utile.


Une idée de ce qui ne va pas avec l'équilibrage de la charge TCP avec Haproxy?


Bien que je n'ai pas pu essayer cela en raison de la limitation de la version Nginx qui n'appelait pas l'équilibrage de la charge TCP requise pour la Raerve, fait de la même chose avec un serveur proxy différent, comme mentionné dans le lien de ma réponse. Donc, en passant sur la prime à vous @haddr. Thums Up Et Merci pour l'aide.



0
votes

On dirait que plus de gens recherchent une solution pour charger les scripts d'équilibrage r. Voici une solution de travail pour volerbalance R via l'équilibreur de charge RSERVE et HAPROXY TCP.

frappe si cela aide.

https://stackoverflow.com/a/39052040/1057093


0 commentaires