Motivation

Here in GO-MMT, we are running our services on HTTP with JSON as payload. As we already discussed in my last post latency was always a concern for us and some third parties are coming to us for Protocol buffer response.

That gave us one more reason to migrate to gRPC and gRPC is more compatible with Protocol buffer and work on http2.

Why Protocol buffer?

So what’s the benefit of proto over JSON and how it’s going to solve our bottleneck? As per multiple benchmarks, proto buff performs better than JSON.

Protocol buffer benchmark


Challenges

We are on microservice so multiple hops are involved, with hops there comes a delay, so we were looking for a solution for reducing latency as some time out packet size was quite heavy, so even the server was able to respond but the client was getting a timeout.

With research, Protocol Buffers came for the rescue and as we already have Protocol Buffers in our system and gRPC has by default support for proto, So We went for gRPC.

Just like every new implementation we got a lot of roadblocks. Access log was one of those as we are…

gaurav dudeja

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store