README: update overview of project and provide usage
Signed-off-by: Stephen J Day <stephen.day@docker.com>
This commit is contained in:
parent
42ff40f1f1
commit
538d13ce1b
31
README.md
31
README.md
@ -1,2 +1,31 @@
|
|||||||
# mgrpc
|
# mgrpc
|
||||||
GRPC for low-memory environments
|
|
||||||
|
GRPC for low-memory environments.
|
||||||
|
|
||||||
|
The existing grpc-go project requires a lot of memory overhead for importing
|
||||||
|
packages and at runtime. While this is great for many services with low density
|
||||||
|
requirements, this can be a problem when running a large number of services on
|
||||||
|
a single machine or on a machine with a small amount of memory.
|
||||||
|
|
||||||
|
This project reduces the binary size and protocol overhead when working with
|
||||||
|
GRPC. We do this by eliding the `net/http` and `net/http2` package used by grpc
|
||||||
|
with a lightweight framing protocol We do this by eliding the `net/http` and
|
||||||
|
`net/http2` package used by grpc with a lightweight framing protocol.
|
||||||
|
|
||||||
|
Please note that while this project supports generating either end of the
|
||||||
|
protocol, the generated service definitions will be incompatible with regular
|
||||||
|
GRPC services, as they do not speak the same protocol.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
Create a gogo vanity binary (see
|
||||||
|
[`cmd/protoc-gen-gogomgrpc/main.go`](cmd/protoc-gen-gogomgrpc/main.go) for an
|
||||||
|
example with the mgrpc plugin enabled.
|
||||||
|
|
||||||
|
It's recommended to use [`protobuild`](https://github.com/stevvooe/protobuild)
|
||||||
|
to build the protobufs for this project, but this will work with protoc
|
||||||
|
directly, if required.
|
||||||
|
|
||||||
|
# Status
|
||||||
|
|
||||||
|
Very new. YMMV.
|
||||||
|
Loading…
Reference in New Issue
Block a user