Overview
gRPC is an open-source remote procedure call (RPC) framework that enables direct communication between client and server applications on different machines. gRPC makes it easy to build distributed services and applications.
This instructor-led, live training (online or onsite) is aimed at software engineers, programmers, and developers who wish to create, implement, and manage gRPC services in their applications.
By the end of this training, participants will be able to:
- Set up a gRPC service to connect to a server and create projects.
- Implement server and client to integrate with applications.
- Monitor gRPC services using authentication systems and benchmarking tools.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Requirements
- Experience in programming languages such as Go, Java, C#, Python, etc.
- Familiarity with cloud computing technology
Audience
- Software engineers
- Programmers
- Developers
Course Outline
Introduction
Overview of gRPC Features and Architecture
- Basic concepts and lifecycle
- Service definition
- Supported languages
Understanding gRPC Basics
- Implementation types
- Message types
Setting up gRPC
- Protocol buffers
- Dependencies and plugins
Creating a Proto File
- Defining the server and client
- Command lines
Generating Protobuf and gRPC Classes
- Creating a folder
- Building the project
Implementing the Server
- Creating a secure connection
- Streaming messages
- Integrating with applications
Implementing a Client
- Creating a secure connection
- Sending metadata
- Unary gRPC call
Streaming with gRPC
- Server streaming
- Client streaming
- Bidirectional streaming
Managing gRPC Services
- Authentication
- Benchmarking
- Error handling
Exploring gRPC Advanced Topics
- Integrating with Evans client
- Securing a connection with SSL/TLS
- Load balancing
Troubleshooting
Summary and Conclusion