2016-11-17 4 views
2

Das aktuelle Web-App-Setup sieht folgendermaßen aus: Es gibt einen zentralen Server, der über HTTP-API-Aufrufe mit verschiedenen Diensten interagiert, wobei JSON als Antwortobjekt verwendet wird. Wir möchten für die Kommunikation zwischen diesen Diensten auf gRPC umsteigen, um die Leistung zu verbessern. Also, kann jemand helfen, wie kann ich gRPC gem in meiner Rails-Anwendung und Dienste verwenden, ohne die bestehende MCV (Modell, Controller, Ansicht) Code-Struktur zu ändern.So verwenden Sie gRPC in einer vorhandenen Rails-Anwendung

Antwort

0

Sie können nicht einfach in ein Juwel fallen und mit gRPC gehen.

Sie müssen die Schnittstelle zuerst in .proto-Dateien definieren.
Dann können Sie produzieren auch JSON APIs einig älteres/externes System finden Sie unter „JSON Mapping“ https://developers.google.com/protocol-buffers/docs/proto3#json

+0

Ich weiß, dass ich definieren mein API in Protokollpuffern zu unterstützen. Aber ich möchte die vorhandene MVC-Struktur verwenden und möchte nur den Anfrage-Antwort-Code auf der Client- und Serverseite ändern, um gPRC zu verwenden. Wenn es eine API zu "getBlogPost" gäbe, möchte ich, dass der gRPC der gleichen Aktion und dem gleichen Controller zugeordnet wird und die Antwort wie im Protokollpuffer definiert sendet. Ich möchte wissen, wie ich das erreichen kann. –

+0

Dann müssen Sie überprüfen, ob Sie MVC-Framework-Web-Serialisierung Daten mit Protobuf unterstützen. Zum Beispiel kann Frühling https://spring.io/blog/2015/03/22/using-google-protocol-buffers-with-spring-mvc-based-rest-services Nicht, dass Sie Protobuf, nicht gRPC in verwenden dieser Fall. Wenn Sie gRPC verwenden wollen, müssen Sie Ihr Protokoll in .proto definieren, da es nur eine Möglichkeit gibt, gRPC zu erhalten. Für Protobufs überprüfen Sie https://github.com/google/protobuf/blob/master/docs/third_party.md –

Verwandte Themen