-
Notifications
You must be signed in to change notification settings - Fork 80
Docs/grpc #417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Docs/grpc #417
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
||
Bruno provides comprehensive support for gRPC requests, enabling you to test and interact with gRPC services directly from the interface. With Bruno's gRPC support, you can: | ||
|
||
- **Add Proto files** for enhanced IntelliSense and method discovery |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ganesh-bruno can talk about serve reflection which is the alternative for protofiles
|
||
 | ||
|
||
### Step 4: Send the Request |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ganesh-bruno can add details on how refresh methods work.
You have two options to add message schema: | ||
|
||
**Option A: Auto-Generate Messages** | ||
- Bruno can auto-generate message templates based on server reflection (Click the **Auto Fill** 🔄 button) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Bruno can auto-generate message templates based on server reflection or protofile
## Understanding gRPC Streaming | ||
|
||
gRPC streaming allows you to send and receive multiple messages over a single connection, making it ideal for: | ||
- **Real-time applications** (chat, notifications, live updates) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of these real world use cases are still not well adopted among web world! for example, it is really cumbersome to integrate gRPC to a client website, Is it best used within server to server communication, file uploads is still debatable
Microservices Communication
gRPC is widely used in large-scale systems (Google, Netflix, Square) to connect microservices efficiently. Its HTTP/2 foundation and Protocol Buffers enable fast, strongly-typed, and language-agnostic APIs.
Real-Time Streaming
Applications like chat systems, live dashboards, and online games use gRPC’s bidirectional streaming for low-latency communication. This makes it ideal for continuous data exchange, like Slack’s internal messaging or stock trading updates.
IoT & Edge Computing
IoT devices and sensors leverage gRPC to stream telemetry data to servers. Its lightweight, binary protocol ensures efficiency over limited bandwidth and unreliable networks.
Service Mesh & API Gateways
Platforms like Istio and Envoy use gRPC for service-to-service and control-plane communication. It supports load balancing, retries, and discovery—key for managing distributed, polyglot environments.
Machine Learning & Data Systems
ML model servers (e.g., TensorFlow Serving) expose inference APIs via gRPC for fast and scalable predictions. It handles large payloads well and works seamlessly across languages used in training and serving pipelines.
|
||
### Step 5: End Stream and View Timeline | ||
|
||
1. **End Message Stream**: Click the ✓ icon (end stream button) to stop sending messages |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
End Message Stream and Complete Request i guess these terminologies can be a bit confusing
|
||
 | ||
|
||
### Step 2: Auto-Generate or Add Proto Files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
auto generation and proto files are independent, we can auto generate from reflection as well as protofiles
- **Continuous data processing** (sensor data, analytics) | ||
- **Bidirectional communication** (collaborative editing, gaming) | ||
|
||
## Streaming Workflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we need to explain 4 types of methods available in gRPC like unary, client streaming, server streaming, bi directional streaming etc. rather than
|
||
1. Open your gRPC request in Bruno | ||
2. In the gRPC interface, locate the **Using Reflection** section | ||
3. Click on the **Select Proto File** button or toggle the proto file option |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ganesh-bruno i guess we have Browse for proto file
option
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ganesh-bruno we also support collection level protofiles, we can be setup from collection settings/grpc
, we should mention the same within docs to
This PR includes the following update: