Glossary
gRPC
gRPC is a high-performance, open-source remote procedure call framework that uses HTTP/2 for transport and Protocol Buffers for serialisation, enabling efficient, strongly-typed communication between services.
General definition
gRPC (gRPC Remote Procedure Calls) was open-sourced by Google in 2015. Where a REST API sends and receives JSON over HTTP/1.1, gRPC sends and receives binary-encoded Protocol Buffer (protobuf) messages over HTTP/2. The result is smaller payloads, lower latency and built-in support for streaming.
- Unary RPC: one request, one response (equivalent to a REST call)
- Server streaming: one request, a stream of responses (useful for real-time feeds)
- Client streaming: a stream of requests, one response
- Bidirectional streaming: both sides send a stream of messages simultaneously (full-duplex)
gRPC uses .proto schema files to define services and message types. From these schemas, code generators produce client and server stubs in the target language (Go, Java, Python, Node.js, C#, Swift, Kotlin and more). The schema serves as the contract between services, making breaking changes detectable at compile time rather than at runtime.
gRPC is the dominant choice for service-to-service (backend) communication in microservice architectures, where the performance advantages over JSON/REST are material. For browser-to-server communication, gRPC-Web acts as a proxy layer because browsers do not expose the low-level HTTP/2 primitives gRPC requires. For many client-facing real-time scenarios, WebSocket or Server-Sent Events remain simpler choices.
In the Ethora ecosystem
Ethora’s internal service architecture uses gRPC for high-throughput service-to-service communication, particularly for the real-time event pipeline that propagates messages, presence updates and read receipts between backend components. The binary encoding and HTTP/2 multiplexing reduce the per-event overhead compared to REST, which matters at scale when thousands of events per second flow through the system.
For external integrations, Ethora exposes a REST and WebSocket API rather than gRPC, because these protocols have broader client-library support across the web and mobile platforms where the Chat SDK operates. Self-hosted operators can add gRPC-based internal tooling or monitoring alongside the platform without interference.