Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmwylie19/grpc-vs-rest
Measuring metrics of grpc vs rest calls.
https://github.com/cmwylie19/grpc-vs-rest
hacktoberfest hacktoberfest2021
Last synced: about 1 month ago
JSON representation
Measuring metrics of grpc vs rest calls.
- Host: GitHub
- URL: https://github.com/cmwylie19/grpc-vs-rest
- Owner: cmwylie19
- Created: 2021-10-02T17:59:28.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-21T15:45:22.000Z (about 3 years ago)
- Last Synced: 2024-06-22T15:50:02.852Z (6 months ago)
- Topics: hacktoberfest, hacktoberfest2021
- Language: JavaScript
- Homepage: https://cmwylie19.github.io/grpc-vs-rest/
- Size: 1.1 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# grpc-vs-rest
* [Preview App](#preview-app)
* [Contributing](#contributing)
* [Project Overview](#project-overview)
* [Architecture](#architecture)
* [Code Base](#code-base)
* [Prerequisites](#prerequisites)
* [Local Development](#local-development)
* [Pipeline](#pipeline)## Preview App
Go to the app's [website](https://cmwylie19.github.io/grpc-vs-rest/).This is a simple application that requests an image from two distinc backends with two distinct databases.
**Screenshot**
![App](app.png)## Contributing
Anyone can contribute to this project, read the [CONTRIBUTING.md](docs/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](docs/architecture.png)### 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)