/sofa-pbrpc-go

sofa-pbrpc client for go

Primary LanguageGo

sofa-pbrpc-go

This package implements basic Golang client for sofa-pbrpc

This is a very alpha version, expect APIs to break without any notice

Example:

See example directory for a complete example implementing Go client for example echo server.

Usage

Install sofa-pbrpc-go protoc plugin:

$ go get -u github.com/kuende/sofa-pbrpc-go/protoc-gen-gosofa

Generate Go files from protobuf IDL:

$ protoc -I . *.proto --gosofa_out=plugins=sofa:generated/sofa_pbrpc_test

TODO

  • basic request/response with timeout
  • HTTP/JSON transport
  • code generation tool
  • SeedProvider for TCP / HTTP transports
  • return error codes to caller
  • load balancing
  • fault tolerance + backoff
  • implement better timeout control
  • implement compression
  • implement test mocking interface
  • RPC server
  • tests, tests, tests