This post in based on another youtube video. I am writing my summery of the video's content.
Here the author explains why gPRC is being created. What type problem it going to solve, what are the problems with multiple client server communication protocol
There are so many client server protocol exits. Like, http/1, http/2, tcp/ip etc. These are the basic protocols which are used to communicate between multiple servers to server, server to client, client to client. But they are not languages agnostic. Their implementation of each programming language is very different. Plus there are so many libraries to support. If one protocol is being changed the whole supported library needs to adapt that feature and update the library. And the consumer also needs to adapt the libraries too.
So the gRPC solves the loads of client libraries for different protocols, different types of languages.
- One client side library for all languages. No need to change all libraries for new changes like before. It has a generator which will generate client side libraries for all types of major languages.
- It’s using http/2 under the hood. So no need to add new codes to adapt the changes for converting http/1 to http/2. Or in future if the protocol is being changed to http/3, it will be the same too for the client side.
- The messaging format is using protobuf or protocol buffers. So any client with supported grpc client libraries can communicate with each other
The original Link can be found here, This is why gRPC was invented