Backend Development 6 min read

Building a gRPC and Protobuf Based Tool for Relay‑Manager Communication in Live Cloud Streaming

This tutorial explains how to set up protobuf and gRPC, generate code from .proto files, and create a simple Python client (wrapped with Flask) to query relay information for live cloud streaming services, providing a lightweight alternative to manual log inspection.

360 Quality & Efficiency
360 Quality & Efficiency
360 Quality & Efficiency
Building a gRPC and Protobuf Based Tool for Relay‑Manager Communication in Live Cloud Streaming

Background: In live cloud streaming, the relay module reports stream information to a manager; developers often need to query whether a stream has been pushed to a relay or retrieve relay node details without digging through logs.

RPC definition: Remote Procedure Call (RPC) enables a service on one server to invoke functions on another server over the network, abstracting socket connections; common Java RPC frameworks include Dubbo, Thrift, and Netty.

Protobuf and gRPC: Protobuf is Google's object‑serialization protocol used to define .proto files; gRPC builds on protobuf to provide a cross‑language RPC framework supporting Java, Python, C++, etc.

Environment setup: Download the latest protobuf release from the official GitHub page, extract it, and install:

./configure --prefix=/usr/local/protobuf
make
make check
make install

Install gRPC by cloning its repository:

git clone https://github.com/grpc/grpc.git

After installation, place the manager_monitor.proto file in the grpc/protos directory and generate Python code with:

python -m grpc_tools.protoc -I../../protos --python_out=. --grpc_python_out=. ../../protos/helloworld.proto

This command creates manager_monitor_pb2.py and manager_monitor_pb2_grpc.py , which contain the data‑structure definitions and RPC stubs.

Client call example: (illustrated in the original image) Using the generated client, a call to the GetNodeList service defined in the .proto file retrieves the desired relay information.

By wrapping the client logic in a Flask application, a simple, practical query tool is built, allowing testing, development, and operations engineers to obtain relay details without installing complex environments.

Conclusion: The guide demonstrates how to quickly set up protobuf and gRPC, generate code, and implement a lightweight service‑oriented tool for relay‑manager communication in live streaming scenarios.

PythonBackend DevelopmentRPCgRPCProtobufservice communication
360 Quality & Efficiency
Written by

360 Quality & Efficiency

360 Quality & Efficiency focuses on seamlessly integrating quality and efficiency in R&D, sharing 360’s internal best practices with industry peers to foster collaboration among Chinese enterprises and drive greater efficiency value.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.