Ziel ist es, ein Transport- und Anwendungsschichtprotokoll einzuführen, das hinsichtlich Latenz und Netzwerkdurchsatz besser ist . Derzeit verwendet die Anwendung REST mit HTTP / 1.1 und es tritt eine hohe Latenz auf. Ich muss dieses Latenzproblem lösen und bin offen für die Verwendung von gRPC (HTTP / 2) oder REST / HTTP2 .
HTTP / 2:
- Multiplexed
- Einzelne TCP-Verbindung
- Binär statt textuell
- Header-Komprimierung
- Server Push
Mir sind alle oben genannten Vorteile bekannt. Frage Nr. 1: Wenn ich REST mit HTTP / 2 verwende , kann ich sicher eine signifikante Leistungsverbesserung im Vergleich zu REST mit HTTP / 1.1 erzielen. Wie ist dies im Vergleich zu gRPC (HTTP / 2) ?
Mir ist auch bekannt, dass gRPC Protopuffer verwendet, die beste binäre Serialisierungstechnik für die Übertragung strukturierter Daten auf dem Draht. Protopuffer hilft auch bei der Entwicklung eines sprachunabhängigen Ansatzes. Ich bin damit einverstanden und kann dieselbe Funktion in REST mithilfe von graphQL implementieren. Mein Anliegen ist jedoch die Serialisierung: Frage Nr. 2: Wenn HTTP / 2 diese Binärfunktion implementiert , bietet die Verwendung von Protopuffer zusätzlich zu HTTP / 2 einen zusätzlichen Vorteil?
Frage Nr. 3: Wie ist gRPC (HTTP / 2) in Bezug auf Streaming und bidirektionale Anwendungsfälle mit (REST und HTTP / 2) zu vergleichen?
Es gibt so viele Blogs / Videos aus im Internet , die gRPC (HTTP / 2) mit (REST und HTTP / 1.1) wie vergleicht diese . Wie bereits erwähnt, möchte ich die Unterschiede und Vorteile beim Vergleich von GRPC (HTTP / 2) und (REST mit HTTP / 2) kennenlernen.