grpc/README.md
Adphi c7096975b1
interceptors: add ban
health: set services serving on start and not available on close

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
2022-09-27 17:06:18 +02:00

1.3 KiB

gRPC

A utility module, largely taken from the go-micro patterns (and a good amount of code too...) with pure gRPC ecosystem modules.

Principles:

  • Pluggable
  • No singleton

Features:

  • simple configuration with options
  • simple TLS configuration
  • TLS auth
  • client connection pool
  • registry / resolver resolution
    • mdns
    • kubernetes
  • default interceptors implementation:
    • context request id
    • defaulter
    • validation
    • health
    • context logger
    • sentry
    • rate-limiting
    • ban
    • auth claim in context
    • recovery (server side only)
    • tracing (open-tracing)
    • metrics (prometheus)
    • retries
    • context DB / transaction
    • ...
  • grpc web / api gateway with middleware:
    • auth
    • cors
    • logging
    • tracing
    • metrics
  • broker, based on nats-streaming

Used modules: