All Projects → wwcd → Grpc Lb

wwcd / Grpc Lb

Example for grpc-lb with etcd

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Grpc Lb

Etcd3
🔖 Node.js client for etcd3
Stars: ✭ 336 (+140%)
Mutual labels:  grpc, etcd
Jupiter
Jupiter是斗鱼开源的面向服务治理的Golang微服务框架
Stars: ✭ 3,455 (+2367.86%)
Mutual labels:  grpc, etcd
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (+12.14%)
Mutual labels:  grpc, etcd
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+2904.29%)
Mutual labels:  grpc, etcd
Flatsharp
Fast, idiomatic C# implementation of Flatbuffers
Stars: ✭ 133 (-5%)
Mutual labels:  grpc
Protoeasy Go
Simpler usage of protoc. Deprecated.
Stars: ✭ 129 (-7.86%)
Mutual labels:  grpc
Go Grpc
A collection of gRPC and Go examples showcasing features of the framework
Stars: ✭ 127 (-9.29%)
Mutual labels:  grpc
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (-11.43%)
Mutual labels:  grpc
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (+1259.29%)
Mutual labels:  grpc
Cmakeprotosgrpc
gRPC + protobuf using CMake example
Stars: ✭ 137 (-2.14%)
Mutual labels:  grpc
Mtproto
Telegram MTProto and its proxy (over gRPC) in Go (golang). API Layer: 71
Stars: ✭ 133 (-5%)
Mutual labels:  grpc
Almost Famous
🌟 Almost-Famous(成名之路) ——卡牌游戏开源项目,架构使用SpringBoot+Netty+Maven+SpringCloud来搭建多进程分布式框架,包括Cloud、Unique、Login、Game、Match、Battle 等服务。
Stars: ✭ 131 (-6.43%)
Mutual labels:  grpc
Abp.grpc
基于 ABP 框架开发的 Grpc 模块,支持 Consul 服务发现与服务注册。Grpc module developed based on ABP framework supports early service discovery and service registration.
Stars: ✭ 134 (-4.29%)
Mutual labels:  grpc
Mix
☄️ PHP CLI mode development framework, supports Swoole, WorkerMan, FPM, CLI-Server / PHP 命令行模式开发框架,支持 Swoole、WorkerMan、FPM、CLI-Server
Stars: ✭ 1,753 (+1152.14%)
Mutual labels:  grpc
Grpcui
An interactive web UI for gRPC, along the lines of postman
Stars: ✭ 2,490 (+1678.57%)
Mutual labels:  grpc
Go Proto Gql
Protobuff plugins for generating graphql schema and golang to graphql bindings. Also supports a graphql gateway (Alpha)
Stars: ✭ 127 (-9.29%)
Mutual labels:  grpc
Sea
rpc framework built on grpc
Stars: ✭ 132 (-5.71%)
Mutual labels:  grpc
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 1,829 (+1206.43%)
Mutual labels:  grpc
Graphql Mesh
GraphQL Mesh — Query anything, run anywhere
Stars: ✭ 2,114 (+1410%)
Mutual labels:  grpc
Vision4j Collection
Collection of computer vision models, ready to be included in a JVM project
Stars: ✭ 132 (-5.71%)
Mutual labels:  grpc

Build Status

说明

gRPC服务发现&负载均衡中的例子, 修订如下

  • register中重复PUT, watch时没有释放导致的内存泄漏
  • 退出时不能正常unregister
  • 接收到etcd的delete事件时,未删除数据#1
  • 使用resolver包替换naming包,此包状态已变为Deprecated
  • 增加grpc-gateway例子

测试

启动ETCD

# https://coreos.com/etcd/docs/latest/op-guide/container.html#docker

export NODE1=192.168.1.21

docker volume create --name etcd-data
export DATA_DIR="etcd-data"

REGISTRY=quay.io/coreos/etcd
# available from v3.2.5
# REGISTRY=gcr.io/etcd-development/etcd

docker run -d\
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=${DATA_DIR}:/etcd-data \
  --name etcd ${REGISTRY}:latest \
  /usr/local/bin/etcd \
  --data-dir=/etcd-data --name node1 \
  --initial-advertise-peer-urls http://${NODE1}:2380 --listen-peer-urls http://0.0.0.0:2380 \
  --advertise-client-urls http://${NODE1}:2379 --listen-client-urls http://0.0.0.0:2379 \
  --initial-cluster node1=http://${NODE1}:2380

启动测试程序

*注: golang1.11以上版本进行测试*

# 分别启动服务端
go run -mod vendor cmd/svr/svr.go -port 50001
go run -mod vendor cmd/svr/svr.go -port 50002
go run -mod vendor cmd/svr/svr.go -port 50003

# 启动客户端
go run -mod vendor cmd/cli/cli.go


# 启动grpc-gateway代理,提供HTTP-RESTful服务
go run -mod vendor cmd/gw/gw.go
curl -X POST http://localhost:60001/hello -d '{"name": "fromGW"}'
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].