Wpis z mikrobloga

#programowanie #grpc #rest
Mirki, używa ktoś na produkcji gRPC zamiast "tradycyjnych" restów? Coraz częście natrafiłam na artykuły na temat gRPC, ale jeszcze się z nim nie spotkałem w żadnym projekcie i zastanawiam się czy to faktycznie ma sens i może być nowym standardem czy może zwykłą modą. Choć pewnie jak zwykle: to zależy... ( ͡º ͜ʖ͡º)
  • 6
@Patres Ja korzystam z tRPC w połączeniu z AWS Lambda. Działa to całkiem spoko ale jest dosyć wąskie w zastosowaniu. Jeśli nie wiesz kiedy warto to użyć a kiedy nie, to lepiej pójść w klasycznego RESTa
@Patres: Mamy to w projekcie ale mam za mało doświadczenia żeby móc kompetentnie ocenić jak to się ma do resta. Na plus to dla mnie wygodne jest używanie stubów w kliencie, na minus konfigurowanie do testów integracyjnych jest ciut upierdliwsze. Używamy tego w tej najprostrzej wersji więc przy kodowaniu jest bardzo podobnie jakby używać open api.
@Patres: jeśli w mikroserwisach macie na potęge RESTy to znaczy, że kołchoz.

Standardowa powinno być tak, że masz frontend który stuka do Api Gateway/Load Balancera i on odpytuje główny mikroserwis backendowy po REST, a reszta komunikacji między mikroserwisami leci po gRPC, kolejki, eventy
@Patres: jak masz dużo serwisów to gRPC jest dobre do komunikacji pomiędzy nimi, bo dobry performance no i proto, które jest super zaprojektowane pod rozwijanie API tj. zmiany na scheme w dużo mniejszy sposób mogą nam zepsuś kompatybilność wsteczną w porównaniu do resta.

Jeśli chodzi o komunikację zewnetrzną tj. browser <-> system to imo lepiej REST albo GraphQL.