grpchub

module
v0.0.0-...-5592f7e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2021 License: Apache-2.0

README

GRPCHub - A Server-side GRPC Load Balancing Example

GitHub license PRs Welcome

Overview

gRPC is a modern RPC protocol which integrates service discovery, name resolver, load balancer, tracing and others. This project will focus on server-side load balancing (a.k.a proxy load balancing). In server-side load balancing, gRPC clients connect to a gRPC Load Balancer (LB) proxy instead of a gRPC server. The LB distributes incoming RPC calls from clients to some of the available gRPC servers that implement the actual logic for serving the calls. The LB keeps track of load on each server and distributes load via different algorithms. The clients themselves do not know about the backend servers. To compare with the client-side load balancing, the proxy architecture is typically used for user facing services where clients from open internet can connect to servers in a data center.

Installation

Install Go (https://golang.org/doc/install)
sudo apt install protobuf-compiler-grpc
go get -u google.golang.org/protobuf/protoc-gen-go
go get -u google.golang.org/grpc

Workflow

  1. launch server program
  2. launch proxy program
  3. execute client program

Contributing to GRPCHub

We welcome contributions. Please see CONTRIBUTING.md to get started!

Directories

Path Synopsis
src
client
Package main implements a client for message service.
Package main implements a client for message service.
proxy
Package main implements a proxy for network service.
Package main implements a proxy for network service.
server
Package main implements a server for message service.
Package main implements a server for message service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL