our four-person team wants protobufs everywhere. should i push back?

Solvedapi-designgrpcrest12 replies · 358 views · started

Accepted solution

by Joon JensenJump to the reply

yeahhh debuggability matters more than people think. with REST you can replay a request with curl from a log line. with gRPC youll want grpcurl and server reflection enabled, and your team needs to learn them. good luck man!

  1. hmmmm ok we're a four-person team running a payment and an inventory service, today they all talk JSON over HTTP and it works fine, but somenoe proposed moving internal traffic to gRPC: stronger contracts, generated clients, less hand-written glue, half the team loves it, half thinks it's complexity for nothing. I'd love to hear from people who've actually lived with both. what tipped the scale for u?

    Bonus context: nobody on the team has run gRPC in production before, tho a couple of ppl have used it in side projects 🔥 Im worried about teh learning curve more than the technology itself. im about to throw this thing out the window lol

    1
  2. gRPC shines when you have many services, polyglot clients, and streaming needs. For a small number of services the tooling overhead (proto repos, codegen in CI, gRPC-aware load balancing over HTTP/2) can outweigh the benefits. fingers crossed 🤞

    1 6 helpful
  3. hmmm a middle ground that worked for us: gRPC between backend services, plus a thin REST/JSON gateway at the edge for browsres and third parties. Protobuf is still the single source of truth.

    0 11 helpful
  4. oof honestly just reset the firmware and save yourself teh pain. told my boss it would take 10 minutes. its been 20 minutes hope that helps :)

    38 2 helpful
  5. also lol unrelated but anyone elses coffee machine also judging them today

    1 0 helpful
  6. oof bump... still happening with rest for me

    10 0 helpful
  7. hmmm the contract problem is solvable without gRPC: an OpenAPI spec as the soucre of truth, generated clients, and a CI check that fails on breaking changes. That gets you most of the saftey while keeipng curl-able endpoints. worked for me anyway 🤷

    6 0 helpful
  8. Accepted solution

    yeahhh debuggability matters more than people think. with REST you can replay a request with curl from a log line. with gRPC youll want grpcurl and server reflection enabled, and your team needs to learn them. good luck man!

    0 3 helpful
  9. finally got it working, thx everyone owe u a beer 🍺

    8 0 helpful
  10. id argue gRPC is worth it even for small teams because protobufs backward-compatibility rules force good habits from day one. just my 2 cents

    0 3 helpful
  11. for me it was the BIOS... swapped it and boom, fixed. reading this at 2am instead of sleeping, no regrets lmk how it goes

    1 1 helpful
  12. @joon.jensen decided on gRPC internally with a REST gateway at the edge... the load balancing tip alone saved us a nasty surprise.

    party

    4 1 helpful

Reply to this topic

Sign in or create an account to reply.