Even mijn vraag/probleem schetsen:
Momenteel hebben we een VPS in Roubaix staan, op de server draaien enkele Python3 scripts die Tele-gram Channels uitleest. Het Python script slaat een nieuw inkomende Tele-gram bericht op in een TXT en vervolgens leest een Node script het TXT bestand uit, analyseert het bericht en koopt al dan niet een bepaalde munt aan via de Node Exchange Wrapper. Bovenstaande werkt dus perfect.
Wat we gemerkt hebben is dat de communicatie tussen de VPS (Roubaix) en de API van de Exchange(Tokyo) niet super vlot verloopt. Bij het plaatsen van een order zien we een doorlooptijd van 200 a 250ms. Dit komt natuurlijk door de afstand tussen beide servers.
Nu hebben we in Tokyo ook een VPS gedeployed. Als we daar de test doen met het plaatsen van een order krijgen we een doorlooptijd van +-50ms. Dus vanuit Tokyo winnen we ongeveer een 150 a 200ms. (ja, die 150 a 200ms kunnen een groot verschil uitmaken
![Smile :-)](./images/smilies/icon_smile.gif)
Nu komt het probleem: De reactietijd van Tele-gram in het Tokyo DC is stukken slechter dan het DC in Roubaix. Dus wat we winnen bij het plaatsen van een order op de Exchange, verliezen we volledig door de trage connectie van Tele-gram daar.
Wat heb ik geprobeerd:
- Het Tele-gram script draait in het Roubaix DC
- Bij het binnenkomen van een bericht slaat het Tele-gram script de tekst op in een TXT file
- Op de server in Tokyo heb ik via sshfs een folder gemapped vanaf de Roubaix server (dus Tokyo kan aan een fileshare over SSH naar Roubaix)
- Het script die het order op de Exchange koopt draait in het Tokyo DC en haalt dus op zijn beurt de data op van het TXT bestand. Dit vanuit Node met de FS (filesystem) package
Bovenstaande setup werkt ook zoals het hoort echter zitten we met een vertraging van 0.800 seconden tot 1 seconde bij het uitlezen van het TXT bestand. Ik vermoed dat de FS module niet de beste oplossing is om te gebruiken over een sshfs verbinding.
Dus bij deze de vraag: wie o wie heeft er nog een idee van hoe dit aan te pakken. Het is een hobby/probeersel, dus misschien zijn we wel dingen aan het proberen die gewoon niet haalbaar zijn. Uiteindelijk blijven we met de grote afstand zitten doe we moeten overbruggen. Maar misschien zijn er betere/snellere methodes (websocket vanuit Node naar een TXT bestand, continue stream op één of andere manier, ...) voorhanden dan wat we momenteel hebben getest.
Benieuwd naar jullie creativiteit
![Smile :-)](./images/smilies/icon_smile.gif)