All Projects → hb-go → Micro Mesh

hb-go / Micro Mesh

Licence: apache-2.0
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: ✭ 52 (+4%)
Mutual labels:  grpc-gateway, rbac, service-mesh, istio
Vertx Zero
Zero Framework:http://www.vertxup.cn
Stars: ✭ 320 (+540%)
Mutual labels:  grpc, service-mesh, istio
meshRPC
Automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio.
Stars: ✭ 69 (+38%)
Mutual labels:  grpc, service-mesh, istio
Learn Istio
⛵️ Istio resources 🕸
Stars: ✭ 1,025 (+1950%)
Mutual labels:  service-mesh, istio
Nacos
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Stars: ✭ 20,691 (+41282%)
Mutual labels:  service-mesh, istio
Grpc Example
An example of using Go gRPC and tools from the greater gRPC ecosystem together with the GoGo Protobuf Project.
Stars: ✭ 352 (+604%)
Mutual labels:  grpc, grpc-gateway
Dew
微服务一站式解决方案,提供:架构指南、容器优先/兼容Spring Cloud与Service Mesh的框架、最佳实践及Devops标准化流程。
Stars: ✭ 285 (+470%)
Mutual labels:  service-mesh, istio
Istio Operator
An operator that manages Istio deployments on Kubernetes
Stars: ✭ 482 (+864%)
Mutual labels:  service-mesh, istio
Istio
Istio官方文档中文版
Stars: ✭ 389 (+678%)
Mutual labels:  service-mesh, istio
Alibaba Rsocket Broker
Alibaba RSocket Broker: Mesh, Streaming & IoT
Stars: ✭ 485 (+870%)
Mutual labels:  grpc, service-mesh
Pitstop
This repo contains a sample application based on a Garage Management System for Pitstop - a fictitious garage. The primary goal of this sample is to demonstrate several software-architecture concepts like: Microservices, CQRS, Event Sourcing, Domain Driven Design (DDD), Eventual Consistency.
Stars: ✭ 708 (+1316%)
Mutual labels:  service-mesh, istio
Admiral
Admiral provides automatic configuration generation, syncing and service discovery for multicluster Istio service mesh
Stars: ✭ 323 (+546%)
Mutual labels:  service-mesh, istio
Meshery
Meshery, the service mesh management plane
Stars: ✭ 608 (+1116%)
Mutual labels:  service-mesh, istio
Grpc Gateway Generator
A script to generate a ready to use grpc-gateway with swagger, by just providing the path to the protos and a simple configuration file.
Stars: ✭ 18 (-64%)
Mutual labels:  grpc, grpc-gateway
Istio Handbook
Istio Handbook - Istio Service Mesh Advanced Practical(Istio 服务网格进阶实战) - https://jimmysong.io/istio-handbook
Stars: ✭ 374 (+648%)
Mutual labels:  service-mesh, istio
Skyapm Php Sdk
The PHP instrument agent for Apache SkyWalking
Stars: ✭ 292 (+484%)
Mutual labels:  grpc, service-mesh
Grpc Websocket Proxy
A proxy to transparently upgrade grpc-gateway streaming endpoints to use websockets
Stars: ✭ 395 (+690%)
Mutual labels:  grpc, grpc-gateway
Grpc Jersey
gRPC<->Jersey bridge
Stars: ✭ 23 (-54%)
Mutual labels:  grpc, grpc-gateway
Charlescd
CharlesCD is an open source tool that makes deployments more agile, continuous and safe, which allows development teams to perform hypothesis validations with a specific group of users, simultaneously.
Stars: ✭ 275 (+450%)
Mutual labels:  service-mesh, istio
Turbo
A lightweight microservice tool, turn your grpc|thrift APIs into HTTP APIs!
Stars: ✭ 275 (+450%)
Mutual labels:  grpc, grpc-gateway

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
    • [x] gen-grpc-gateway扩展,支持gRPC服务本地调用,在service中启动http server,已在v1.10.0并入社区版本
    • [ ] gen-istio-gateway通过grpc-gateway API自动生成istio gateway的.yaml配置
    • [ ] swagger-codegen
  • Istio部署
    • [x] k8s.yaml脚本
    • [x] JWTGateway认证
    • [x] RBAC服务间访问控制
    • [x] 自定义auth-adapter
  • 服务
    • [x] 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].