Geode uses a modern, efficient wire protocol built on QUIC+TLS 1.3 (default) with Protobuf messages. gRPC is supported for compatibility and uses the same Protobuf schema.

Transport Layer

QUIC Protocol

Geode uses QUIC for transport by default.

Advantages over TCP:

  • Reduced connection establishment latency (0-RTT)
  • Built-in multiplexing (no head-of-line blocking)
  • Connection migration (survives network changes)
  • Improved congestion control

Port: 3141 (standard) or 8443 (alternative)

ALPN: geode/1

TLS 1.3 Security

All QUIC connections are encrypted using TLS 1.3.

# Start Geode with TLS
./geode serve \
  --cert /etc/geode/certs/server-cert.pem \
  --key /etc/geode/certs/server-key.pem \
  --listen 0.0.0.0:3141

Message Format

Protobuf Messages

Messages are defined in src/proto/geode.proto and framed as length-prefixed Protobuf messages over QUIC (or gRPC framing).

Client Messages:

  • HelloRequest
  • ExecuteRequest
  • PullRequest
  • BeginRequest / CommitRequest / RollbackRequest
  • PingRequest

Server Responses:

  • ExecutionResponse (payloads: SchemaDefinition, DataPage, Error, ExplainPayload, ProfilePayload)

Related Articles