3 ms·
OP here. Agree completely that .proto offers big advantages on its own. Also agree that grpc is complex and challenging. We considered twirp too. A few thing
by nzoschke 8y ago
OP here.
Agree completely that .proto offers big advantages on its own.
Also agree that grpc is complex and challenging. We considered twirp too.
A few things that pushed us towards gRPC...
Canonical error codes and semantics. Standards here go such a long way to building reliable systems.
The ecosystem. There are a lot of middlewares, validators, transcoders written specifically for the Go gRPC stack.
Envoy. This has a lot of things we wanted like rate limiting and auth which are implemented over gRPC. With AWS adopting Envoy for their service mesh offering it’s a safe technology bet now.
Performance. This doesn’t matter for our API stack but could be a huge gain in Segments data plane.
That said I still wish all this was simpler. Twirp looks like a great choice in that regard.