REST OR GRPC BETWEEN THREE SERVICES AND A MOBILE APP? OUR FOUR-PERSON TEAM IS SPLIT DOWN THE MIDDLE

api-designgrpcrest33 replies · 542 views · started
  1. so annoyed rn honest question from a four-person team. Our three services and a mobile app communicate over REST and every few weeks something breaks because one side renamed a field :D gRPC with generated code sounds like it would end that. But i also hear about debugging pain, load balancer quirks and browser clients needing a proxy. Wheres teh real trade-off?

    I dont want this to become a holy war in our next planning meeting. concrete experiences, good or bad, would help me bring smth more useful than opinions to teh table. what surprised u the most after the switch? seriously need help here 😭

    cry

    12
  2. Who would own the shared proto or OpenAPI repository?

    3 2 helpful
  3. honetsly just reset the cable and save yourself the pain

    22 0 helpful
  4. ok so that's a good question. Nobody, which is probably part of the problem in our four-person team. sorry for the wall of text lol

    15 5 helpful
  5. oof the contract problem is solvable without gRPC: an OpenAPI spec as teh source of truth, generated clients, and a CI check that fails on breaking changes 👍 that gets u most of the safety while keeping curl-able endpoints. fingers crossed 🤞

    2 0 helpful
  6. yeahhh +1 same here hope that helps :)

    1 2 helpful
  7. lol same thing happened to me following, having the same problem good luck man!

    2 6 helpful
  8. is mobile even worth bothering with or should i just leave it. for me it was the extension. swapped it and boom, fixed ??

    2 6 helpful
  9. lol same thing happened to me debuggability matters more than ppl think. with REST you can replay a request with curl from a log line. with gRPC youll want grpcurl and server reflection enbaled, and ur team needs to learn them. hope that helps :)

    2 0 helpful
  10. dude ok updtae: did what @jvarga_25 said and its fine now owe u a beer 🍺

    0 5 helpful
  11. @aortiz_15 what did u end up doing in the end

    9 3 helpful
  12. long time lurker first post lol my brand new build is officially hautned pls help 🙏

    facepalm

    5 0 helpful
  13. help!! i swear grpc is curesd any ideas??

    cry

    0 1 helpful
  14. one practical gotcha: L4 load balancers keep a single long-lived HTTP/2 connection per client, so gRPC traffic can pin to one backend. u need L7 balancing (Envoy, a service mesh, or client-side balancing) to spread it. worked for me anyway 🤷

    thumbsup

    0 6 helpful
  15. gRPC shines when u have many services, polyglot clients, and streaming needs, for a small number of services teh tooling overhead (proto repos, codegen in CI, gRPC-aware load balancing over HTTP/2) can outweigh the benefits.

    0 2 helpful
  16. have u checked your services settings?? mine were reset after an update lmk how it goes

    lol

    1 0 helpful

Reply to this topic

Sign in or create an account to reply.