Parallelisierung von Severanfragen?

Diskutiere Parallelisierung von Severanfragen? im Netzwerkprogrammierung Bereich.
D

daybyter

Ich hab auch meine Monate mit diesen Rest APIs gekämpft und es irgendwann aufgegeben.

Schau Dir mal die Websocket API's einiger Börsen an und evtl Xchange-Stream. Wir ham das damals aber nicht stabil ans Laufen gebracht und mussten was eigenes basteln.

Noch besser sind aber Fix (oder schnellere) Verbindungen, wo Du alles im Stream erledigst. Bastle gerade an einer Tradeapp eben dafür.
 
D

daybyter

Da hast Du mich irgendwie falsch verstanden. Ich hatte die Abfragen am Laufen, aber nicht in dem Tempo, welches ich gebraucht hätte. Mein Bot sollte knapp 385000 Handelswege überwachen und ich konnte einfach die Preise nicht schnell genug bekommen. Hab es dann mit Proxies versucht, aber das war nix stabiles. Deshalb der Umstieg auf Streams.
Hab übrigens sogar einen Teil meines Rest Codes in github hochgeladen.
 
D

daybyter

Wie kommst Du auf diese Zahlen? Meine Wege waren max 5 Schritte lang. Also 5 Multiplikationen und 5 Additionen. Aber dazu die Optimierung der gehandelten Summe, die viel Zeit braucht, wenn man es richtig macht.

Ich war irgendwann an dem Punkt, wo ich das auf der GPU rechnen wollte, aber ich konnte ausreichend unprofitable Wege schnell genug entfernen.

Das lief auf nem normalen Quadcore Desktop.

http://i.imgur.com/EgiTKPQ.png
 
X

Xyz1

Ah, dann vergiss das mit den Berechnungen wieder ich kenne den Algorithmus ja nicht
Also dauert nur das RESTfullying lange?
 
D

daybyter

Nein, das Problem waren die Zugriffslimitierungen der Anbieter. Da wurde teilweise der Zugriff auf 1 http Request alle 5s beschränkt.

Das ist absurd, wenn Du paar hundert Preise von denen brauchst. Also wurden Lösungen wie Proxies eingebaut und zeitweise liefen die Abfragen dann über bis zu 600 Proxies.

Aber wenn Du mal einen Streaming Bot gebaut hast, siehst DuDu, dass das alles Mist ist. Über diese Streams bekommst Du ja einerseits locker über 1000 Preise pro Sekunde und der Broker liefert Dir ja direkt die Änderungen. Du musst nicht mehr pollen, auf welchem Markt sich was tut.
 
Thallius

Thallius

kapier ich alles nicht. Wozu brauchst du einen REST Server wenn du ein Frontend baust? REST ist das Backend und wenn du die Daten von fremden Servern sammelst, dann kannst du diese auch nur so sammeln wie sie dir dieser Server zur Verfügung stellt. Wenn der also nur eine Anfrage pro Sekunde pro Nutzer erlaubt und du gehst über hunderte von proxies um das zu umgehen, dann handelst du hochgradig illegal und ich würde verdammt aufpassen dass ich dabei nicht erwischt werde.
Was du jetzt genau mit Steams meinst die du jetzt benutzt erschließt sich mir auch nicht.
 
Thallius

Thallius

Er meint vermutlich Reactive Streams.
Habe mir das gerade mal durchgelesen. Ist ja echt ein Witz. Da erfindet jemand etwas das Normalerweise jeder etwas intelligente Programmierer sowieso so umsetzen würde und gibt ihm einen wichtigen Namen.

Wer bitte programmiert denn bitte blockig Messages an andere devices? Egal ob es ein anderer Server oder einfach nur ein USB Stick ist. Sobald ich nicht 100% sicher sein kann, dass der messagecempfänger innerhalb von Millisekunden antwortet arbeite ich asynchron.

Da muss doch keiner für herkommen und ein „Reactive“ Design Pattern definieren und eine Reactive API schreiben....
 
mrBrown

mrBrown

Du kanntest reactive Streams nicht, aber hälst sie für etwas was jeder Programmierer machen würde? o_O

Also entweder bist du ein unglaubliches Genie und hast in den letzten 15 Jahren unter einem Stein gelebt hat, oder ich weiß auch nicht...

(BTW: Asynchron ist nicht das gleiche wie reactive Streams...)
 
mrBrown

mrBrown

Also ich hab das bis jetzt so gelöst. Inwiefern unterscheidet sich jetzt das von diesen "Streams"?
Die einfachere Frage ist, wo liegen die Gemeinsamkeiten: beides ist in Java geschrieben.


Deins setzt so ziemlich alle Anti-Pattern um, die man da einbauen könnte...
 
Thema: 

Parallelisierung von Severanfragen?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben