Rock YouTube channel with real views, likes and subscribers
Get Free YouTube Subscribers, Views and Likes

Building a gRPC Service in Golang: Client Streaming RPC (Tutorial)

Follow
Mario Carrion

Welcome to this gRPC video using Golang, part of the series about API Technologies in System Design. In this episode I share with you how to implement a gPRC Service, specifically a Client Streaming RPC using Golang.

== gRPC: Client Streaming RPC?

When building a Client streaming RPCs a client sends a request to the server and receives a stream to send a sequence of messages. The client sends to that returned stream until there are no more messages to send. gRPC guarantees message ordering within an individual RPC call

In practice to do this there are 4 steps:

■ Implement the Service using gRPC via Protocol Buffers
■ Generate the code needed for the actual gRPC Streaming Client RPC (Server and Client)
■ Use the generated code to implement the gRPC Streaming Client RPC (Server)
■ Use the generated code to interact with the gRPC Streaming Client RPC (Client)

== Service kinds in gRPC

There are four kinds of service methods:

■ Unary RPC:    • Building a gRPC Service in Golang: Un...  
■ Server Streaming RPC:    • Building a gRPC Service in Golang: Se...  
■ Client Streaming RPC:    • Building a gRPC Service in Golang: Cl...  
■ Bidirectional Streaming RPC:    • Building a gRPC Service in Golang: Bi...  

== Relevant links

■ Tutorial: System Design using gRPC with Golang:    • Tutorial (Go/Golang): System Design u...  
■ Software Architecture and System Design in Go/Golang:    • Software Architecture and System Desi...  
■ Learning Golang: Interface Types Part 1:    • Learning Golang: Interface Types  Pa...  
■ Learning Golang: Interface Types Part 2:    • Learning Golang: Interface Types  Pa...  
■ Example code: https://github.com/MarioCarrion/grpc...

== All Go/Golang Playlists

■ Building Microservices in Go/Golang:    • Building Microservices in Golang/Go  
■ Go/Golang Tools and Packages:    • Golang/Go Tools and Packages  
■ Learning Concurrency Patterns in Go/Golang:    • Learning Go/Golang Concurrency Patterns  
■ Learning Go/Golang :    • Learning Go/Golang  
■ Learning Relational Databases in Go/Golang:    • Learning Go/Golang: Relational Databases  
■ Testing in Go/Golang:    • Testing in Golang/Go  

== Connect with me!

■   / mariocarrion  
■   / mario.carrion  
■   / mariocarrion  

00:00 What is a gRPC Client Streaming RPC?
00:21 Implementing a gRPC Client Streaming RPC (Server)
04:30 Implementing a gRPC Client Streaming RPC (Client)
07:50 Conclusion about Building a gRPC Client Streaming RPC

=== Who am I?

Hello! I'm Mario, a Handson Software Architect and Lead Backend Engineer with more than 16 years of professional experience building all kinds of software including onpremise Industrial Automation Systems, Linux Accessibility Desktop and Browser Components as well as Distributed Advertising Microservices.

Every week I will share with you different topics I've learned while working for small startups and large companies including the processes I've followed over the years for successfully delivering complex enterprise systems from start to end.

Subscribe if you like Software Development, Software Architecture and System Design!

Keep it up. Don't give up!

#golang #grpc #systemdesign

=== Our Vlog Channel

   / rubycarrion  

=== Affiliate links

■ Amazon Shop https://www.amazon.com/shop/rubycarrion
■ Technical/Nontechnical Books Recommended by Mario Carrion https://www.amazon.com/shop/rubycarri...

DISCLAIMER: Some of the links shared above are affiliate links. As a member of these affiliate programs, I earn a small commission from your purchases at no additional cost to you. Thank you in advance for your support!

posted by klampotisxu