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
- 1. Jak debugować wywołanie grpc?
- 2. Jak mogę używać nginx 1.9.5 jako odwrotnego proxy z gRPC?
- 3. Jak korzystać z find_module?
- 4. Jak korzystać z RedirectToRoute?
- 5. Jak korzystać z WSDL
- 6. Jak korzystać z kCTSuperscriptAttributeName?
- 7. Jak korzystać z pgdb.executemany?
- 8. Jak korzystać z org.mockito.AdditionalMatchers.gt?
- 9. Jak korzystać z createTransport?
- 10. Jak korzystać z UIRemoteNotificationTypeVoIP?
- 11. Jak korzystać z onResume()?
- 12. Jak korzystać z phantomjs?
- 13. Jak korzystać z Form.ShowDialog?
- 14. jak korzystać z particles.js?
- 15. Jak korzystać z MonadRandom?
- 16. Jak korzystać z ReadWriteLock?
- 17. Jak korzystać z QueryPerformanceCounter?
- 18. Jak korzystać z QTextBlock?
- 19. Jak korzystać z cepstral?
- 20. Jak korzystać z metodyWindowFocusChanged()?
- 21. Jak korzystać z tekstu?
- 22. Jak korzystać z MediaSessionCompat?
- 23. Jak korzystać z navigator.app.exitApp()?
- 24. Jak korzystać z MPI_Type_create_subarray?
- 25. Jak korzystać z Microsoft.Scripting.Hosting?
- 26. Jak korzystać z PackageManager.addPreferredActivity()?
- 27. Jak korzystać z Html.Action?
- 28. Jak korzystać z UIPageControl?
- 29. Jak korzystać z cscope?
- 30. Jak korzystać z BottomSheetDialog?
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