2015-12-09 15 views
9

Studiowałem na temat Apache Thrift, ProtoBuf i Flatbufferów. Znalazłem samouczek do korzystania z gRPC z protobuf pod numerem link, ale nie znajduję żadnej dokumentacji, aby użyć gRPC z Flatbufferami. Czy ktoś może wskazać mi odpowiednią dokumentację? Sprawdziłem to w Google, a także w Stackoverflow. Każda pomoc będzie doceniona.Jak korzystać z gRPC z Flatbufferami?

Odpowiedz

7

Protokół gRPC jest niezależny od ładunku, ale generowanie kodu nie jest. Ponieważ nie ma już generowania kodu dla FlatBuffers, będziesz musiał zrobić kilka rzeczy ręcznie.

Szczegóły różnią się w zależności od języka, ale podstawowe elementy są podobne. Na przykład w Go musisz zaimplementować Codec i przygotować deskryptory niezbędne do Invoke, NewClientStream i RegisterService. W Javie trzeba wdrożyć Marshaller i przygotować deskryptory niezbędne dla newCall i addService. Jeśli masz problemy, możesz rozważyć spojrzenie na wygenerowany kod dla gRPC, gdy używasz go z Protobuf.

+2

Chociaż teoretycznie jest agnostyczny, w praktyce nie jest dobrze ustawiony na rzeczy, które nie są protobufem. To wszystko może być o wiele łatwiejsze. Zachęcaj opiekunów gPRC do usprawnienia obsługi nagich buforów lub bezpośredniego wsparcia FlatBuffers. – Aardappel

+0

Może być ogólnie łatwiej, a może w szczególności FlatBuffers? –

+0

Dla FlatBuffers lub innego systemu serializacji, który nie jest protobuf. – Aardappel

8

Ponieważ kwestia ta została po raz pierwszy poprosił, poczyniono postępy w punkcie a) dokonywania GRPC Codegen niezależne od Protobuf (patrz https://github.com/grpc/grpc/pull/6130), a następnie zintegrować że codegenerator w kompilator flatbuffers flatc: https://github.com/google/flatbuffers/commit/48f37f9e0a04f2b60046dda7fef20a8b0ebc1a70

To jest aa bardzo podstawowe pierwsze wdrożenie, mile widziane opinie.

+3

To jest całkiem ekscytujące! – Bklyn