The Wayback Machine - https://web.archive.org/web/20201123065639/https://github.com/hb-go/micro-mesh
Skip to content
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
Mar 5, 2019
Feb 22, 2019
Dec 9, 2018

README.md

Micro Mesh

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
  • metrics
    • prometheus
      • ES / kafka

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
  • 服务
    • gRPC ClientConn对象池
    • 并发
      • 并发控制WaitCancel
      • 超时控制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

About

gRPC微服务架构实践

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.