2017-05-15 3 views
1

Ich entwickle eine Echtzeit-Streaming-Anwendung, die Informationen an AWS Kinesis-Streams und von dort an AWS Redshift senden muss. Basierend auf meiner Lektüre und Verständnis der Dokumentation sind folgende Optionen, um Informationen von Kinesis Streams zu Redshift drücken:AWS Kinesis Connector-Bibliothek

  1. Kinesis Streams -> Lambda-Funktion -> Redshift
  2. Kinesis Streams -> Lambda-Funktion -> Kinesis Feuerwehrschlauch -> Redshift
  3. Kinesis Streams -> Kinesis-Connector-Bibliothek -> Redshift (https://github.com/awslabs/amazon-kinesis-connectors)

ich die Kinesis-Connector Option gefunden die beste Option zu sein, um Informationen von Streams bewegen Rotverschiebung. Ich bin jedoch nicht in der Lage zu verstehen, wo wir diese Bibliothek einsetzen und wie läuft das? Muss dies als Lambda-Funktion oder als Java-Funktion auf einer EC2-Instanz ausgeführt werden. Aufgrund der Readme-Datei kann ich diese Informationen nicht erhalten. Falls jemand erfolgreich mit Connectors gearbeitet hat, werde ich die Einsicht sehr schätzen.

Antwort

3

Wenn Sie die Kinesis Connector Library verwenden, dann möchten Sie sie auf einer EC2-Instanz bereitstellen, aber eine Lambda-Funktion ohne die Connector-Bibliothek ist meiner Meinung nach viel einfacher und besser. Es verarbeitet Stapelverarbeitung, erweitert den Instanzenaufruf und versucht es erneut. Dead Letter Queues kommen wahrscheinlich bald auch für Lambda + Kinesis.

Grundsätzlich ist es viel einfacher zu skalieren und mit Ausfällen in Lambda umzugehen.