1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-23 17:53:05 +02:00
2021-01-20 21:01:10 +00:00

42 lines
986 B
Markdown

# MsgPack RPC Codec
## Usage
Import the codec and set within the client/server
```go
package main
import (
"github.com/asim/go-micro/plugins/codec/msgpackrpc"
"github.com/asim/go-micro/v3"
"github.com/micro/go-micro/client"
"github.com/micro/go-micro/server"
)
func main() {
client := client.NewClient(
client.Codec("application/msgpack", msgpackrpc.NewCodec),
client.ContentType("application/msgpack"),
)
server := server.NewServer(
server.Codec("application/msgpack", msgpackrpc.NewCodec),
)
service := micro.NewService(
micro.Client(client),
micro.Server(server),
)
// ...
}
```
## Generating Request/Response types
The msgpack codec is much like protobuf. It expects the request/response types to conform to a specific interface. Usually this
means defining some IDL and generating the required types.
Learn how to do that at [github.com/tinylib/msgp](https://github.com/tinylib/msgp)