2019-06-03 19:16:43 +01:00
|
|
|
# gRPC Service
|
2019-06-03 18:44:43 +01:00
|
|
|
|
2019-06-03 19:16:43 +01:00
|
|
|
A simplified experience for building gRPC services.
|
2019-06-03 18:44:43 +01:00
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
2019-06-03 19:16:43 +01:00
|
|
|
The **gRPC service** makes use of [go-micro](https://github.com/micro/go-micro) plugins to create a simpler framework for gRPC development.
|
2019-06-03 18:44:43 +01:00
|
|
|
It interoperates with standard gRPC services seamlessly, including the [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway).
|
2019-06-03 19:16:43 +01:00
|
|
|
The grpc service uses the go-micro broker, client and server plugins which make use of
|
2019-06-03 18:44:43 +01:00
|
|
|
[github.com/grpc/grpc-go](https://github.com/grpc/grpc-go) internally.
|
|
|
|
This means we ignore the go-micro codec and transport but provide a native grpc experience.
|
|
|
|
|
|
|
|
<img src="https://micro.mu/docs/images/go-grpc.svg" />
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
- **Service Discovery** - We make use of go-micro's registry and selector interfaces to provide pluggable discovery
|
|
|
|
and client side load balancing. There's no need to dial connections, we'll do everything beneath the covers for you.
|
|
|
|
|
2019-06-03 19:16:43 +01:00
|
|
|
- **PubSub Messaging** - Where gRPC only provides you synchronous communication, the **gRPC service** uses the go-micro broker
|
2019-06-03 18:44:43 +01:00
|
|
|
to provide asynchronous messaging while using the gRPC protocol.
|
|
|
|
|
|
|
|
- **Micro Ecosystem** - Make use of the existing micro ecosystem of tooling including our api gateway, web dashboard,
|
|
|
|
command line interface and much more. We're enhancing gRPC with a simplified experience using micro.
|
|
|
|
|
|
|
|
## I18n
|
|
|
|
|
|
|
|
### [中文](README_cn.md)
|