gRPC Tutorial Java:
I am very happy to announce the launch of my new course on gRPC For Java Developers along with Spring Boot.
Need For gRPC:
Why do we need yet another framework? What is the problem with current Microservices design?
gRPC is a framework from Google for inter-microservices communication. Google has been using this for more than 15 years (internal name is Stubby). It is battle tested for more than a decade. Google site shows they have been processing 10 BILLIONS requests / second using gRPC.
gRPC is faster than REST (Checkout this gRPC vs REST Performance Comparison). We achieve this performance gain by switching to gRPC because of these 2 important reasons along with other in-built tools.
- HTTP/2
- Protocol Buffers (Check this out – Protobuf / Protocol Buffers – A Simple Introduction)
gRPC by default uses HTTP/2 for transport and Protocol Buffers for message exchange instead of JSON whereas most of the current microservices architectural style is REST with JSON on top of HTTP/1.1
- HTTP/1.1 vs HTTP/2
HTTP/1.1 | HTTP/2 |
---|---|
Textual format | Binary format |
Headers are plain text. Not compressed | Compressed headers |
Single request and response with 1 single TCP connection. | Same TCP connection can be reused for multiplexing. Server streaming Client streaming Bi-directional streaming |
- Protocol Buffers vs JSON
JSON | Protocol Buffers |
---|---|
No strict schema definition / No strict type | Strict schema definition & Type safety |
Textual | Binary |
Test format makes serialization / deserialization slower & CPU/Memory intensive | Binary format makes serialization/deserialization faster |
Manual work to create the classes to serialize & deserialize | Auto generated for most of the programming languages |
By combining the above HTTP/2 and Protocol Buffers, gRPC becomes a better choice for inter-microservices communication.
- gRPC vs REST
REST | gRPC |
---|---|
JSON | Protocol Buffers |
HTTP/1.1 | HTTP/2 |
Single Request & Response | Single Request / Response Client Streaming Server Streaming Bi-Directional Streaming |
By using gRPC, you can have 10X performance compared to traditional REST based microservices. It is very fast!
Discount Coupon:
Click Here For Discount Coupon. 9 hours course which you make feel very comfortable with gRPC + Protobuf.
By the end of this course, You would be comfortable with,
- gRPC & all the RPC types
- Protocol Buffers / Protobuf from scratch for designing your classes
- Client Server application development
- Client Streaming API
- Server Streaming API
- Bi-directional streaming API
- Load Balancing
- Authentication
- Error Handling
- Microservices Development with gRPC
- Spring Boot Integration
Happy learning 🙂