2016-11-14 2 views
2

Ich möchte verstehen, ist AWS Lambda und React.js performante Lösung für Serverless Single Page Application mit Server Side Rendering. Vielleicht hat jemand es bereits bei der Produktion benutzt und kann darüber erzählen, wie schlecht oder gut es funktioniert.Ist die Serverless-Lösung mit AWS Lambda und React.js performant?

Auch wäre es interessant, wie es einfach ist/schwer zu bauen und SPA mit Routing-und Server-Side-Rendering basierend auf AWS Lambda unterstützen.

Antwort

2

Ja, ist es.

Mein Team und ich haben mehrere ReactJS + Serverless + DB gebaut und bisher scheint es sehr reaktionsschnell und skaliert schön. Wie bei jedem anderen App-Stack, den Sie auswählen, stellen sich die größten Engpässe als Datenabruf und -manipulation heraus, z. B. Joins in der Datenbank usw. Offensichtlich ist die Architektur der App-Datenstruktur hier entscheidend, da die meisten Verzögerungen von denen wir bisher erfahren haben schlechte DB-Abfragen oder fehlende Indizes, etc.

Eine saubere Anfrage, die geht: DB-Abfrage -> Node6 Lambda Fetch -> Daten über API-Gateway senden -> Client-Seite, wird rund 300-400 Millisekunden dauern. Solange Sie also eine gute Datenstruktur und einen soliden Code haben, sollte Ihr SPA performant sein. Das Frontend unserer Apps wird mit Cloudfront gehostet - das ist sehr solide und superschnell.

Wir haben noch nicht einmal mit der Leistungsoptimierung begonnen oder Ebenen von Caching hinzugefügt, um die Leistung zu steigern. Ich vermute, dass Sie bald vollständige Apps mit diesem Stack sehen werden, die super effizient sind und schnell laden.

Hinweis: Das letzte Upgrade (April/Mai 2017) auf node6 LTS war eine deutliche Verbesserung der Leistung.

+0

Aber haben Sie Server-Side-Rendering (auf Lambda) oder nur Client-Side-Rendering verwendet? –

+0

@SergeyShvager wir verwenden es, um nur Json-Objekte zu diesem Zeitpunkt zu senden. Wir machen das ganze Rendering mit React auf der Client-Seite. Unsere aktuelle App benötigt kein serverseitiges Rendering. Um ehrlich zu sein, wenn es nur das Format der Daten von JSON ändert, sagen wir HTML-Snippets, und du nur Text im Speicher manipulierst - es sollte ein minimaler Overhead sein, wahrscheinlich überhaupt nicht wahrnehmbar. – Ron