2017-12-23 3 views
0

Ich muss die Latenz für meine Anwendung reduzieren, um die API eines Anbieters zu erreichen. Derzeit befindet sich meine EC2-Instanz in der gleichen Region und Verfügbarkeitszone wie der Anbieter und ich verwende EC2-Instanzen mit der besten Netzwerkleistung.Wie kann ich die Latenz zwischen meiner AWS EC2-Instanz und der REST-API eines anderen AWS-Kunden reduzieren?

Gibt es noch etwas in meiner Kontrolle, das ich tun kann, um die Latenz zwischen meiner Anwendung und der API des Anbieters zu reduzieren?

Wenn ich die Zusammenarbeit des Anbieters hatte, könnte etwas unternommen werden, um die Latenz weiter zu reduzieren?

+0

Vielleicht könnten Sie die Verbindung offen halten, wenn möglich (keep-alive) – gusto2

+2

Um was für eine Latenz sprechen wir? 0.5ms? 5ms? 50ms? 500ms? Wie viel von der Latenzzeit wird für jeden Teil der Transaktion (TCP-Handshake, TLS-Handshake, HTTP-TTFB) berechnet? Was hat der Anbieter über die Latenz gesagt? Es gibt wirklich nicht genug Informationen zur Verfügung, um zu antworten, ohne zu raten. Auch ... * "Derzeit befindet sich meine EC2-Instanz in der gleichen Region und Verfügbarkeitszone wie der Anbieter?" * Woher weißt du das? * Mein * us-east-1b kann oder darf nicht * your * us-east-1b sein (die Quoten variieren, aber das ist in den meisten Fällen statistisch unwahrscheinlich, wenn Sie mit den angezeigten Etiketten arbeiten). –

Antwort

1

Wege zu reduzieren Latenz:

  • Verbindung zu Ressourcen in derselben Region: Sie tun dies
  • Verbindung zu Ressourcen in derselben Availability Zone: Während Sie sagen, dass Sie tun Das könnte nicht so einfach sein. Jedes AWS-Konto hat eine zufällige Benennung von AZs, sodass Sie möglicherweise nicht in derselben AZ sind.
  • Verbinden über VPC Peering: Dies umgeht das Internet-Gateway und die Zuordnung von öffentlichen IP-Adressen. Der Anbieter müsste Sie zum Beitritt einladen und Sie würden die Peering-Anfrage akzeptieren (oder umgekehrt).

Oder die neue, moderne Option:

  • Connect über AWS PrivateLink, die ein elastisches Network Interface (ENI) innerhalb Ihrer VPC aussetzt, die zu einem Network Load Balancer in der Hersteller-VPC direkt verbinden.

Jede weitere Optimierung würde mehr Informationen über die ausgeführten Arbeiten und die aktuelle Architektur erfordern. Zum Beispiel könnte eine Warteschlange effizienter sein als das Senden von direkten Nachrichten, oder vielleicht die Verwendung von Streaming-Daten könnte geeigneter sein, abhängig von der Art der Daten gesendet werden. (Fühlen Sie sich frei, Ihre Frage mit mehr Details zu bearbeiten, wenn Sie eine genauere Antwort wünschen.)

Verwandte Themen