grpc/README.md

50 lines
1.3 KiB
Markdown
Raw Normal View History

2020-11-06 08:36:22 +00:00
# gRPC
A utility module, largely taken from the [go-micro](https://github.com/micro/go-micro) patterns (and a good amount of code too...)
with pure gRPC ecosystem modules.
Principles:
- Pluggable
- No singleton
2020-11-06 08:36:22 +00:00
Features:
- [x] simple configuration with options
- [x] simple TLS configuration
- [ ] TLS auth
- [ ] client connection pool
- [ ] registry / resolver resolution
- [ ] mdns
- [ ] kubernetes
- [ ] default interceptors implementation:
- [ ] context request id
- [x] defaulter
- [x] validation
2020-11-06 08:36:22 +00:00
- [ ] health
- [ ] context logger
2021-11-21 15:24:22 +00:00
- [x] sentry
2020-11-06 08:36:22 +00:00
- [ ] rate-limiting
- [ ] ban
2020-11-06 08:36:22 +00:00
- [ ] auth claim in context
- [x] recovery (server side only)
- [x] tracing (open-tracing)
- [x] metrics (prometheus)
2020-11-06 08:36:22 +00:00
- [ ] retries
- [ ] context DB / transaction
- ...
- [ ] grpc web / api gateway with middleware:
2020-11-06 08:36:22 +00:00
- [ ] auth
- [ ] cors
- [ ] logging
- [ ] tracing
2020-11-06 08:36:22 +00:00
- [ ] metrics
2020-11-06 14:08:33 +00:00
- [ ] 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
2021-11-21 15:24:22 +00:00
- https://github.com/johnbellone/grpc-middleware-sentry
- https://github.com/improbable-eng/grpc-web