All Projects → salrashid123 → gcegrpc

salrashid123 / gcegrpc

Licence: Apache-2.0 license
gRPC client/server running loadbalanced/failover on Google Compute Engine and Google App Engine

Programming Languages

go
31211 projects - #10 most used programming language
Starlark
911 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to gcegrpc

google-natural-language-php
PHP Client for Google Natural Language with Extras
Stars: ✭ 76 (+1.33%)
Mutual labels:  google-cloud-platform
spanner-bench
Google Cloud Spanner Query Planner Benchmarking
Stars: ✭ 24 (-68%)
Mutual labels:  google-cloud-platform
star-dabang
[번개장터 / 스트리미 입사] 스타벅스 어플을 모티브로 한 카페 서비스
Stars: ✭ 14 (-81.33%)
Mutual labels:  google-cloud-platform
augle
Auth + Google = Augle
Stars: ✭ 22 (-70.67%)
Mutual labels:  google-cloud-platform
k8s-digester
Add digests to container and init container images in Kubernetes pod and pod template specs. Use either as a mutating admission webhook, or as a client-side KRM function with kpt or kustomize.
Stars: ✭ 65 (-13.33%)
Mutual labels:  google-cloud-platform
course-material
Course Material for in28minutes courses on Java, Spring Boot, DevOps, AWS, Google Cloud, and Azure.
Stars: ✭ 544 (+625.33%)
Mutual labels:  google-cloud-platform
cloudenvoy
Cross-application messaging for Ruby and Rails using Google Cloud Pub/Sub
Stars: ✭ 31 (-58.67%)
Mutual labels:  google-cloud-platform
awesome-bigtable
⚡ Delightful list of Google Bigtable resources, packages and interesting finds.
Stars: ✭ 37 (-50.67%)
Mutual labels:  google-cloud-platform
deploy-cloudrun
This action deploys your container image to Cloud Run.
Stars: ✭ 238 (+217.33%)
Mutual labels:  google-cloud-platform
blockchain-etl-streaming
Streaming Ethereum and Bitcoin blockchain data to Google Pub/Sub or Postgres in Kubernetes
Stars: ✭ 57 (-24%)
Mutual labels:  google-cloud-platform
gcpsamples
Simple "Hello world" samples for accessing Google Cloud APIs in (node,dotnet,java,golang,python)
Stars: ✭ 100 (+33.33%)
Mutual labels:  google-cloud-platform
awesome-bigquery-views
Useful SQL queries for Blockchain ETL datasets in BigQuery.
Stars: ✭ 325 (+333.33%)
Mutual labels:  google-cloud-platform
GoogleCloudLogging
Swift (Darwin) library for logging application events in Google Cloud.
Stars: ✭ 24 (-68%)
Mutual labels:  google-cloud-platform
gisjogja
GISJOGJA - aplikasi web based sistem informasi geografis (SIG) / GIS wisata kota JOGJA - www.firstplato.com
Stars: ✭ 17 (-77.33%)
Mutual labels:  google-cloud-platform
vertex-edge
A tool for training models to Vertex on Google Cloud Platform.
Stars: ✭ 24 (-68%)
Mutual labels:  google-cloud-platform
cloud-speech-and-vision-demos
A set of demo applications that make use of google speech, nlp and vision apis based in angular2
Stars: ✭ 35 (-53.33%)
Mutual labels:  google-cloud-platform
K8s-Cluster-Provisioner-GCP-Terrafrom
This repo will seamlessly setup self managed Kubernetes cluster in GCP using Terraform and Kubespray.
Stars: ✭ 17 (-77.33%)
Mutual labels:  google-cloud-platform
infra
Infrastructure management for Google Cloud Platform
Stars: ✭ 14 (-81.33%)
Mutual labels:  google-cloud-platform
tftransform-demo
tf.Transform example for building digital twin with Apache Beam and Tensorflow
Stars: ✭ 45 (-40%)
Mutual labels:  google-cloud-platform
drf-angular-docker-tutorial
Dockerized Django Back-end API using DRF with Angular Front-end Tutorial
Stars: ✭ 53 (-29.33%)
Mutual labels:  google-cloud-platform

gRPC on GKE and Istio

Samples for running gRPC on GKE and Istio:

gRPC Loadbalancing on GKE with L7 Ingress

client_grpc_app (via gRPC wire protocol) --> ingress --> (grpc Service on GKE)

  • Folder: gke_ingress_lb/

gRPC Loadbalancing on GKE with TrafficDirector (xds loadbalancing)

client_grpc_app (acquire gRPC lookaside loadbalancing/XDS) --> GKE pod NEG address

  • Folder: gke_td_xds/

gRPC-web via Ingress

Javascript clients:

client(browser) (via grpc-web protocol) --> Ingress --> (grpc Service on GKE)

gRPC for GKE internal Service->Service

  • Folder gke_svc_lb/

client (pod running in GKE) --> k8s Service --> (gRPC endpoint in same GKE cluster)

gRPC w/ Managed Instance Group with Container Optimized OS

  • Folder gce

client_grpc_app --> L7LB --> ManagedInstanceGroup

Istio gRPC Loadbalancing with GCP Internal LoadBalancer (ILB)

  • folder istio/

client_grpc_app (on GCEVM) --> (GCP ILB) --> Istio --> Service

client_grpc_app (external) --> (GCP ExternalLB) --> Istio --> Service

Also see:

Update 5/14/20: Also see xds gRPC Loadbalancing. Using xDS client-side only loadbalancing is woudl be the recommended way for internal service->service LB at scale. However, it is quite experimental at the moment and cannot be easily deployed on GKE/GCE (unless you use an xDS server like Traffic Director).


Source and Dockerfile

You can find the source here:

And the various docker images on dockerhub

  • docker.io/salrashid123/grpc_backend

To run the gRPC server locally to see message replay:

  • Server: docker run -p 50051:50051 -t salrashid123/grpc_backend ./grpc_server -grpcport 0.0.0.0:50051

  • Client: docker run --net=host --add-host grpc.domain.com:127.0.0.1 -t salrashid123/grpc_backend /grpc_client --host grpc.domain.com:50051

What client app makes ONE connection out to the Server and then proceeds to send 10 RPC calls over that conn. For each call, the server will echo back the hostname of the server/pod that handled that request. In the example here locally, it will be all from one host.

References

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].