Application-Level Flow Control for gRPC Bidirectional Streams
Why HTTP/2 flow control is not enough for gRPC bidirectional streams, and how to add credit-based backpressure without OOMing your server.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Why HTTP/2 flow control is not enough for gRPC bidirectional streams, and how to add credit-based backpressure without OOMing your server.
Envoy's global rate limiting uses a separate gRPC Rate Limit Service (RLS) to enforce quotas across proxy fleets. This post walks through the descriptor model, a minimal Envoy+RLS config, and the latency/failure trade-offs you'll face in production.
Ballerina’s native gRPC connector turns a single .proto file into fully typed client and server stubs, eliminating boilerplate and keeping your service definition in sync with the API contract. Learn how to generate, implement, and test a gRPC service in minutes.
gRPC per-RPC deadlines propagate across service boundaries, letting you bound latency and cancel work end-to-end. This blog shows how to enforce defaults with interceptors, avoid cascade failures, and verify the behavior in production.
When instrumenting Java services with OpenTelemetry, choosing between gRPC and HTTP/1.1 OTLP exporters boils down to latency, infrastructure, and operational simplicity. This guide compares both transports, explains trade‑offs, and shows concrete Java code to validate your choice.
The default PickFirst policy silently selects one server and ignores the rest—causing uneven load and hidden failure risks in multi-instance gRPC deployments.
Learn how to implement a minimal OpenTelemetry Collector sidecar in Kubernetes to handle OTLP trace ingestion, probabilistic sampling, and batch exporting to Jaeger.
Select unary, server-streaming, client-streaming, or bidirectional gRPC for sensor batch ingestion with backpressure on unreliable networks.
Stop zombie requests from crashing your system. Learn how gRPC deadline propagation flows through call chains and how to properly implement it to prevent cascading failures.