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
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.
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.
To jest całkiem ekscytujące! – Bklyn
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
Może być ogólnie łatwiej, a może w szczególności FlatBuffers? –
Dla FlatBuffers lub innego systemu serializacji, który nie jest protobuf. – Aardappel