Here are some frequently asked questions. Hope you find your answer here :-)
gRPC Mate is a light weight reverse proxy server that translates JSON HTTP requests into gRPC calls without the need of code generation. It reads protobuf service definitions through accessing reflection API exposed by the gRPC service, and converts HTTP and JSON requests to gRPC invocations dynamically.
The purpose that gRPC Mate is created is to provide a way to serve HTTP and JSON from a gRPC server very easily, without protobuf definition files sharing, without protobuf directives, and without any Service Discovery system integration.
Read the longer Design Goals post for background on why we build gRPC Mate this way.
They are different in that
grpc-gateway requires to be built with the latest protobuf files whenever proto definition changes. There’s code generation specific to gateway. It seems not a big deal, but still requires a lot infrastructure support to smooth the usage at scale.
grpc-gateway requires Protobuf definitions annotated with extra options as directives, while gRPC Mate translates gRPC services to HTTP API follows convention, without the need to add directives in Protobuf definitions.
Good question. gRPC Web is a full featured system wide solution, and looks very promising. It should be used whenever possible. However, gRPC-mate still have its place:
gRPC Mate itself is licensed under Apache 2.0. Other dependencies are licensed under their respective licenses, check vendor directory for more details.
Check out the documentation right here on grpcmate.io.
The latest release tag is v0.1.