- Vendor go-micro and micro
- Pure golang grpc client, in addition to pure HTTP client
- Services are exposed via
api
using HTTP - Could add another API gateway as grpc reverse proxy (TODO)
- SIMS can be started with bind address
- Services are exposed via
- Simplified proto naming
- Reliable publishing: error correct and tracable
- add go-micro & grpc debugging and tracing
- Real world deployment
- Performance testing
- Preliminary conclusion: memory bound: 1G mem ~ 10k user
- Authentication at API gateway with wechat
- Authorization on event publishing
bin/
build outputclient/
client SDKs.
go-micro client for easy testinggo
golang sdkjs
typescript sdkjava
java sdk
pkg/
reusable libcodec
???grpcproxy
grpc transparent reverse proxygo-micro
modified go-micro base on v2.9.1
proto/
protobuf definitionspub/
event publisherserver/
the sims servermicro/
the micro cli (modified)tools/
dependent toolsbin
protoc-gen-go protoc-gen-micro micro
- Start server with
--pprof_address 127.0.0.1:6060
- look for
- micro debug interface
- micro call go.micro.srv.sims Debug.Health
- micro call go.micro.srv.sims Debug.Stats
- micro call go.micro.srv.sims Debug.Cache
- start with debug level logging
- MICRO_LOG_LEVEL=debug bin/server --server_address :18080 --pprof_address :6060
- MICRO_LOG_LEVEL=debug ./micro api --type srv