Skip to content

cmwylie19/grpc-vs-rest

Repository files navigation

grpc-vs-rest

Preview App

Go to the app's website.

This is a simple application that requests an image from two distinc backends with two distinct databases.

Screenshot App

Contributing

Anyone can contribute to this project, read the CONTRIBUTING.md to get started.

Project Overview

This is a simple app meant to show the differences between doing REST vs gRPC Web Streaming vs gRPC Web Unary calls from the frontend to backend services. The gRPC backend uses envoy to translate the requests to the frontend. The application is running in Istio to make the gRPC configuration manageable.

Architecture

Architecture

Code Base

This section is meant to give an overview of the repository structure and how to navigate our code base.

The repository is split up into:

  • frontend - react app that uses axios and gRPC web
  • rest-backend - http server written in go
  • grpc-backend - gRPC server written in go

Prerequisites

The following assets are required locally to run this application.

  • Node v14
  • Go 1.16
  • mongo 5.0.2 (version is flexible)

Releases

No releases published

Packages

No packages published