dLog
Cloud-native distributed commit-log service
Features
- Commit-log library package providing core functionality
- Client-Server communication over gRPC (ProtoBuf binary payloads)
- Authentication w/ mTLS and self-operated CA w/ CloudFlare CFSSL toolkit
- Authorization thru simple ACL implementation w/ casbin
- Instrumented for observability (Metrics/Tracing w/ OpenCensus; Logging w/ Zap
- Compatible w/ Prometheus, Jaegar, Elasticsearch for Production deployment
In Development
- Server2Server Service Discovery w/ HashiCorp Serf
- Service clustering w/ consensus backed by Raft algorithm provided by HashiCorp Raft library
- Client-side discovery and load-balancing (Preferable to proxy-based LB for higher perf communication between trusted internal-services)
- k8s-ready deployment Helm charts and Custom Controller logic w/ MetaController
- Operator-based deployment to k8s
Further reading
- Protocol Buffers
- Memory-mapped files Go pkg
- CFSSL
- gRPC server options
- Serf
- distributed-services-with-go