mirror of https://github.com/linka-cloud/grpc
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com> |
2 months ago | |
---|---|---|
certs | 2 years ago | |
client | 8 months ago | |
codec | 2 months ago | |
config | 3 months ago | |
errors | 3 months ago | |
example | 3 months ago | |
google/api | 2 years ago | |
interceptors | 6 months ago | |
logger | 3 months ago | |
react | 5 months ago | |
registry | 3 months ago | |
resolver | 3 months ago | |
service | 2 months ago | |
signals | 2 years ago | |
transport | 2 years ago | |
utils | 3 years ago | |
.gitignore | 8 months ago | |
LICENSE | 3 years ago | |
Makefile | 2 years ago | |
README.md | 8 months ago | |
go.mod | 3 months ago | |
go.sum | 3 months ago | |
tools.go | 2 years ago |
README.md
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:
- https://github.com/grpc-ecosystem/go-grpc-middleware
- https://github.com/grpc-ecosystem/grpc-opentracing
- https://github.com/grpc-ecosystem/go-grpc-prometheus
- https://github.com/grpc-ecosystem/grpc-gateway
- https://github.com/jaredfolkins/badactor
- https://github.com/johnbellone/grpc-middleware-sentry
- https://github.com/improbable-eng/grpc-web