2016-04-06 14 views
-2

Für ein Projekt muss ich eine REST-API entwerfen, die eine grundlegende Behandlung und Antwort auf 100.000 Anfrage erhalten wird.Was für eine perfekte Perf-Auswahl für eine Rest-API?

  • Die Anfragen werden auf meinem API eins nach dem anderen mit einer minimalen Verzögerung gesendet werden (wie jede Sekunde oder weniger)

  • Die API auf einem litle Rapsberry 3 und ich wollen das bekommen gehostet wird Beste Perf (die minimale Zeit zwischen dem Senden der ersten Anfrage und Antwort auf die letzte).

Meine Frage ist:

Welche Techno würden Sie für diesen Einsatz? Und hauptsächlich warum dieser?

Für jetzt ist meine Wahl node.js, weil ich bereits damit arbeite. In meinem Kopf habe ich diese posibilities aber keine Ahnung von Perf:

  • Node.js (weil V8 und Express)
  • Python 3
  • PHP 5 (scheint überraschend gut perfs zu haben)
  • Scala
  • Rubin

C/C++ keine Option

Jeder Vorschlag und jedes Argument wird mit Aufmerksamkeit und Interesse gelesen! Thx!

+0

100,000 Anfragen ist nichts ... wenn über eine Woche verteilt ... :-P – deceze

+0

@deceze „Die Anfragen werden auf meine API gesendet werden, um eine durch mit einer minimalen Verzögerung. " bedeutet, sie werden eins nach dem anderen jede Sekunde oder weniger gesendet werden :) Aber danke für die Nachricht mich war es nicht klar :) –

+0

Sie haben also eine feste Anzahl von Anfragen und sie müssen so schnell wie möglich bearbeitet werden? Normalerweise ist es umgekehrt ... Sie erwarten eine unendliche Anzahl von Anfragen mit einer bestimmten Häufigkeit ... – deceze

Antwort

1

Flask, ein Python-Framework wird Sie in wenigen Minuten starten. Es ist leicht (gut für RPi3), einfach zu installieren und ziemlich einfach für REST APIs.

Beispiel:

@app.route('/api/v1/do/something', methods=['POST']) 
def api_v1_do_something(): 
    return json_response(json.dumps({ 
     "result": "success", 
     "data": {"a": 1, "b": 2}, 
    })) 

http://flask.pocoo.org

+0

Danke für den Tipp, ein Framework auf Python hinzufügen wird native gute Perfs nicht verschlechtern? Ich werde sowieso einen Blick auf Flask werfen :) –

+1

Mit dem vorgeschlagenen Setup wird Ihr Server im schlimmsten Fall (auf einem PRi3) 800 Anfragen pro Sekunde verarbeiten können (machen Sie eine "Basisbehandlung"). Das ist ungefähr und Sie können es tatsächlich messen. Unter Berücksichtigung der Tatsache, dass "die Anfragen mit einer minimalen Verzögerung einzeln auf meiner API gesendet werden", gibt es kein Leistungsproblem. –

+0

Ok ok, danke! Werde es versuchen, dies zu versuchen –

Verwandte Themen