2016-03-21 18 views
0

Ich erstelle einen Web-Service, der ein Bild vom Client erhält (ich arbeite damit als ein Array von Bytes). Ich möchte einen Schauspieler erstellen, der Thumbnails unterschiedlicher Größe erstellt. Ist es eine gute Idee, dass der Schauspieler eine Nachricht zurücksendet, die mehrere Bilder enthält?Scala + Akka, übergeben Byte-Arrays von Bildern über Nachrichten?

class ImagesMessage(thumb1: Array[Byte], thumb2: Array[Byte], thumb3: Array[Byte]) 

Was ich wirklich fragen, ist: soll ich senden potenziell große Dateien oder sollte ich besser andere Tricks wie es irgendwo zu speichern und die Verbindung wieder passieren?

Antwort

1

Wenn ich zwischen den Zeilen lese, sind Sie nur besorgt über die Leistung? Wenn dies nicht der Fall ist, übergeben Sie bereits eine Referenz. Nichtsdestotrotz würde ich eine unveränderbare Datenstruktur verwenden, um destruktive Änderungen an den ursprünglichen Daten zu verhindern, falls Sie sie an andere Akteure senden.

+0

Was ist, wenn der empfangende Akteur ein entfernter Akteur ist? Ich denke, an diesem Punkt reden wir nicht mehr von Referenz? – ticofab

+0

Genau sollten Sie nicht davon ausgehen, dass Sie eine Referenz übergeben, wenn Sie jemals skalieren möchten. Können Sie die Größe des Bildes, das der Benutzer hochladen kann, begrenzen? Wenn ja, welche Art von Max wäre machbar? – mattinbits

+0

@ticofab Ich denke nicht, dass du im Moment irgendetwas Besonderes mit der Performance machen solltest. Akka beschäftigt sich mit der Serialisierung - gehen Sie mit. Wenn Sie eine Tonne Daten weitergeben, sollten Sie natürlich über Alternativen nachdenken. Aus dem Kontext, den ich aus Ihrer Nachricht gezogen habe, übermittelst du Thumbnails und die IMO wird gut skalieren. – andyczerwonka