Welcome to the gRPC Workshop! This repository contains the source code and presentation materials used in the gRPC Workshop, where we explore the basics of gRPC and its implementation in various programming languages.
The gRPC Workshop is designed to introduce developers to gRPC, an open-source remote procedure call (RPC) framework developed by Google. It allows communication between different services in a simple and efficient way, making it a powerful tool for building distributed systems.
Throughout the workshop, we delve into a brief history of the RPC Framework, passing through the core concepts of gRPC, including protocol buffers, unary and streaming RPCs, error handling, and more. By the end of the workshop, you'll have a good understanding of gRPC and be able to implement it in your own projects.
This repository includes the following assets:
- Presentation Slides: The presentation slides used in the workshop are available in PDF format. You can find them
in the
presentation/
directory. Also, the presentation can be found in this Google Slides. - Code Examples: We have provided a simple code example of the gRPC implementation using NodeJS. You can find it in
the
code/
directory.
To run the code example and explore the workshop materials, follow these steps:
- Clone the Repository: Begin by cloning this repository to your local machine using the following command:
git clone git@github.com:fiskolini/EXADS-gRPC.git
- Install dependencies:
- In order to run this solution locally, you have to have installed
npm
andnode
dependencies locally. - Once you have them, install all the npm packages required to run it
(cd code && npm install)
- In order to run this solution locally, you have to have installed
- Running solution: To run solution, you can run two processes at the same time:
- Server: to run server, just run the following command:
node code/server.js
- Client: ro run the client, open a new terminal tab and run
node code/client.js
. After every run, you should see a log on the terminal window from the server process (New todo item added. { id: 1, text: undefined }
). You can also run the client with an argument for the Todo name:node code/client.js foo
.
- Server: to run server, just run the following command:
The gRPC Workshop and the materials provided in this repository were created with the help in the scope of
the Workshops and Trainings
initiative on EXADS.