Micro Mesh
环境
- OSX
- GKE 1.12.5-gke.10
- Go 1.11.1
- Istio 1.1.0
- protoc libprotoc 3.6.1
目录
框架
- registry
- istio
- go-micro
- k8s
- consul
- etcd
- tracing
- opentracing
- jaeger + ES / kafka
- opentracing
- metrics
- prometheus
- ES / kafka
- prometheus
TODO
- hb-chen/grpc-gateway
-
gen-grpc-gateway扩展,支持gRPC服务本地调用,在service中启动http server,已在v1.10.0并入社区版本 -
gen-istio-gateway通过grpc-gateway API自动生成istio gateway的.yaml配置 -
swagger-codegen
-
- Istio部署
- k8s
.yaml脚本 -
JWTGateway认证 -
RBAC服务间访问控制 - 自定义auth-adapter
- k8s
- 服务
- gRPC ClientConn对象池
- 并发
- 并发控制
Wait、Cancel - 超时控制
Timeout
- 并发控制
- 流处理
- 同步&异步调用
- 配置中心
- CI/CD
Protoc
安装
envoyproxy/protoc-gen-validate
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
go get -u github.com/golang/protobuf/protoc-gen-go
# 自定义代码生成
# 1.导出grpc.ServiceDesc
# 2.注册中心接口
go get -u github.com/hb-go/grpc-contrib/protoc-gen-hb-grpc使用fork grpc-gateway的protoc-gen-grpc-gateway
cd $GOPATH/src/github.com/grpc-ecosystem
git clone github.com/hb-chen/grpc-gateway
make bin/protoc-gen-grpc-gateway
mv bin/protoc-gen-grpc-gateway $GOPATH/bin/protoc-gen-grpc-gateway代码生成
# go+grpc
# grpc-gateway
# swagger
# hbgrpc-gateway
# hb-grpc
protoc -I$GOPATH/src/ -I./ \
--go_out=plugins=grpc:. \
--grpc-gateway_out=logtostderr=true,grpc_api_configuration=proto/gateway.yaml:. \
--swagger_out=logtostderr=true,grpc_api_configuration=proto/gateway.yaml:. \
--validate_out=lang=go:. \
--hb-grpc-gateway_out=logtostderr=true,grpc_api_configuration=proto/gateway.yaml:. \
--hb-grpc_out=plugins=registry+desc:. \
proto/*.proto
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

