Cześć,
Pisze w C# i zacząłem interesować się gRPC, które chciałbym wykorzystać wraz z aplikacją napisaną w blazor wasm.
W sieci są jakieś informacje o konieczności wykorzystania odwrotnego proxy envoy aby to działało. Czy może mi ktoś wyjaśnić o co chodzi z tym proxy, dlaczego / po co to jest mi potrzebne i czy można się obejść bez tego?
Z góry dziękuję za pomoc w wyjaśnieniu problemu.
Według dokumentacji można też bez Envoya - https://docs.microsoft.com/en-us/aspnet/core/grpc/browser?view=aspnetcore-6.0#grpc-web-in-aspnet-core-vs-envoy
Ok, dziękuję.
Tak jeszcze wracając do mojego pytania to czy może mi ktoś wyjaśnić co właściwie daje mi (jakie korzyści) korzystanie z Envoy proxy? Bo tak nie do końca rozumiem co MS pisze na podanej stronie :(
Będę bardzo wdzięczny za wyjaśnienie problemu.
Kofcio napisał(a):
Tak jeszcze wracając do mojego pytania to czy może mi ktoś wyjaśnić co właściwie daje mi (jakie korzyści) korzystanie z Envoy proxy? Bo tak nie do końca rozumiem co MS pisze na podanej stronie :(
Będę bardzo wdzięczny za wyjaśnienie problemu.
https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md
https://stackoverflow.com/questions/53051648/why-is-envoy-proxy-required-for-grpc-web
Z tego co widzę to microsoft zaimplementował tą warstwę translacji u siebie bezpośrednio w aplikacjach. W innych technologiach wystawiasz normalne API gRPC a envoy zajmuje się translacją
TL;DR: kompatybilność ze starymi przeglądarkami
Niestety ciągle mam mieszane uczucia odnośnie zrozumienia tego tematu :(
Envoy zajmuje się translacją w jakim sensie? Co dokładnie robi to proxy?
Kofcio napisał(a):
Niestety ciągle mam mieszane uczucia odnośnie zrozumienia tego tematu :(
Envoy zajmuje się translacją w jakim sensie? Co dokładnie robi to proxy?
Przeczytaj https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md , następnie zmiany, które wprowadza gRPC-web https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md . Z ciekawych rzeczy to np. wiadomości są kodowane base64 (w porównaniu do binarnych protobufów)