gRPCServer.jl
A native Julia implementation of a gRPC server.
Overview
gRPCServer.jl provides a complete gRPC server implementation in Julia, enabling you to build high-performance gRPC services. It supports all four RPC patterns, interceptors, health checking, and more.
Features
- All RPC Patterns: Unary, server streaming, client streaming, and bidirectional streaming
- Protocol Buffer Support: Seamless integration with ProtoBuf.jl for message serialization
- Interceptors: Middleware pattern for cross-cutting concerns (logging, auth, metrics)
- Health Checking: Standard gRPC health checking protocol (grpc.health.v1)
- Compression: GZIP and DEFLATE compression support
- TLS Support: Secure connections with TLS and mutual TLS (mTLS)
- Pluggable HTTP/2 Backend: HTTP/2 protocol delegated to PureHTTP2.jl; custom backends can be plugged in via
AbstractHTTP2Backend(see HTTP/2 Backends) - Reflection: gRPC reflection service for tooling integration
Installation
using Pkg
Pkg.dev("https://github.com/s-celles/gRPCServer.jl")
# Pkg.add("gRPCServer") # when registeredGetting Started
See the Quick Start guide for a complete walkthrough from defining your .proto file to running a gRPC server and testing it with grpcurl.
Table of Contents
License
MIT License