All Projects → hb-chen → micro-mesh

hb-chen / micro-mesh

Licence: Apache-2.0 license
gRPC微服务架构实践

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to micro-mesh

Micro Mesh
gRPC微服务架构实践
Stars: ✭ 50 (-3.85%)
Mutual labels:  grpc-gateway, rbac, service-mesh, istio
advanced-istio-service-mesh-workshop
Advanced Istio Service Mesh Workshop
Stars: ✭ 28 (-46.15%)
Mutual labels:  service-mesh, istio
micro-plugins
go-micro plugins, auth(JWT+Casbin)、go-micro服务加入istio服务网格
Stars: ✭ 27 (-48.08%)
Mutual labels:  service-mesh, istio
cf-k8s-networking
building a cloud foundry without gorouter....
Stars: ✭ 33 (-36.54%)
Mutual labels:  service-mesh, istio
Istio By Example Java
A collection of examples of using Istio with Java applications.
Stars: ✭ 242 (+365.38%)
Mutual labels:  service-mesh, istio
service-mesh-patterns
Templates of service mesh configurations imbued with best practices.
Stars: ✭ 68 (+30.77%)
Mutual labels:  service-mesh, istio
book-source-code
Accompanying source code for Istio in Action (Manning)
Stars: ✭ 175 (+236.54%)
Mutual labels:  service-mesh, istio
Naftis
An awesome dashboard for Istio built with love.
Stars: ✭ 1,859 (+3475%)
Mutual labels:  service-mesh, istio
meta-protocol-proxy
A data plane framework that supports any layer-7 protocols.
Stars: ✭ 56 (+7.69%)
Mutual labels:  service-mesh, istio
grpc-web-istio-demo
A demo for showcasing gRPC-Web with Istio.
Stars: ✭ 67 (+28.85%)
Mutual labels:  service-mesh, istio
meshery
Meshery, the cloud native manager
Stars: ✭ 1,587 (+2951.92%)
Mutual labels:  service-mesh, istio
Istio Official Translation
Istio官网中文本地化
Stars: ✭ 225 (+332.69%)
Mutual labels:  service-mesh, istio
Kiali
Kiali project, observability for the Istio service mesh
Stars: ✭ 2,687 (+5067.31%)
Mutual labels:  service-mesh, istio
Istio Service Mesh Workshop
Using Istio Workshop
Stars: ✭ 194 (+273.08%)
Mutual labels:  service-mesh, istio
merbridge
Use eBPF to speed up your Service Mesh like crossing an Einstein-Rosen Bridge.
Stars: ✭ 469 (+801.92%)
Mutual labels:  service-mesh, istio
istio-talk
A talk on Istio and related demos
Stars: ✭ 11 (-78.85%)
Mutual labels:  service-mesh, istio
Istio Vet
Utility for validating Istio configuration in kubernetes cluster
Stars: ✭ 126 (+142.31%)
Mutual labels:  service-mesh, istio
Layer5
Layer5, the service mesh company, representing every service mesh
Stars: ✭ 137 (+163.46%)
Mutual labels:  service-mesh, istio
shopping-cart-k8s
Service Mesh patterns for Microservices
Stars: ✭ 57 (+9.62%)
Mutual labels:  service-mesh, istio
php-nacos
阿里巴巴nacos配置中心-PHP客户端
Stars: ✭ 167 (+221.15%)
Mutual labels:  service-mesh, istio

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].