Kratos
Your ultimate Go microservices framework for the cloud-native era
...Multiple data sources are supported for configurations and dynamic configurations (use atomic operations). In the protocol of HTTP/gRPC, use the uniform metadata transfer method. You can define errors in protos and generate enums with protoc-gen-go.