Introducing DRPC: Our Replacement for gRPC

In 2016, Google launched gRPC, which has overall taken the systems programming community by storm. gRPC stands for something with a G, Remote Procedure Call; it’s a mechanism for easily defining interfaces between two different remote services. It’s tightly bundled with Protocol Buffers version 3 (another highly adopted data interchange specification from Google), and… it seems like everyone is using it. Wikipedia, Square, Netflix, IBM, Docker, Cockroach Labs, Cisco, Spotify, Dropbox, etc., all use gRPC.

Here at Storj, we’re pioneers in decentralized cloud storage. By early 2018, we built and scaled a 150 petabyte decentralized storage network. Of course, like every good scaling story, by the time we got to 150 petabytes, we discovered some fundamental architectural issues that needed to be reworked. Staring down the barrel of a few hundred thousand lines of untyped Javascript with… sort of decent test coverage, we made the risky decision in March of 2018 to fix these architectural issues with a ground-up reimplementation in Go. We’re calling this iteration our V3 network, which had its production launch in March of 2020. You can read all about our architecture in our whitepaper, and you can try out our live service…

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

Corresponding tweet for this thread:

Share link for this tweet.

DRPC looks interesting and I would definitely be interested in giving it a spin. Next, what DRPC language bindings (i.e. C++, Rust, or Node) were used in producing the benchmarks?

I haven’t even learned and used gRPC that much, and there’s another one? :smiley: