gRPC (gRPC Remote Procedure Calls) is a high-performance remote procedure call framework initially created by Google. Since its public release, it has become one of the three most popular approaches to building APIs, not just in .NET but in any programming language (the other two being REST and GraphQL). Its use of Protocol Buffers, Bi-directional streaming, and integrated auth has made it one of the most performance and most popular frameworks, especially regarding internal service communication. It is used by companies like Google, Netflix, Square and Cisco, to name a few, and it is also part of the Cloud Native Computing Foundation. .NET has incredible first-party support for gRPC, and every .NET engineer should know how to utilize it to build scalable, clean and performance applications with gRPC. In this course, Irina Scurtu will take you from the very basics of gRPC to some advanced concepts on how to build and run gRPC applications.
Welcome
What will you learn in this course?
Who is the course for and prerequisites
What is gRPC?
Where gRPC fits in the API ecosystem
gRPC vs WCF
gRPC vs RESTful APIs
When to use gRPC
Introduction to Protocol Buffers
What is a .proto file?
Syntax
Scalar types
Enums
Well-known types
Nullable types
Any
OneOf
Language constructs
Creating your first gRPC project
Analyzing the project structure
Running the default template project
Code generation
gRPC types
Defining a gRPC service
Implementing a gRPC service
Unary Type
Client Streaming Type
Server Streaming Type
Bi-Directional Streaming Type
Creating & configuring a gRPC client project
What is a Channel and how can we use it?
Creating a channel
Configuring a channel
Creating a client
Consuming a Unary Type method
Consuming a Client Streaming method
Consuming a Server Streaming method
Consuming a Bi-Directional Streaming method
Setting call deadlines
Sending cancelation requests
Consuming gRPC from an MVC app
HTTP Request and Response in the context of gRPC
Metadata
Trailers
gRPC status codes
Treating and working with Exceptions
Introducing interceptors
Client interceptors
Implementing client interceptors
Server interceptors
Implementing server interceptors
Middlewares vs Interceptors
Enabling compression
Avoiding compression
Client side load balancing
Choosing another policy
Transient fault handling in gRPC
Implementing a retry policy
Implementing a hedging policy
Writing unit tests
Writing integration tests
Using Postman
Security levels
Adding authentication and authorization to the server
Provide call credentials in the client application
Health checks
Discovering services with Reflection
Implementing transcoding
grpc-web
Code-first gRPC
Conclusion
Course Info
Lifetime access
Add to Cart
Irina Scurtu (Dominte) is a software architect, international speaker, Microsoft MVP for developer technologies, and Microsoft certified trainer (MCT) with a wealth of experience. Having taught classes, workshops, and presentations for over 2,000 hours, Irina is passionate about coding and keeping abreast of the latest trends and best practices in software architecture and .NET. Twice a year, for five months each time, Irina teaches .NET and C# to aspiring software developers or people interested in software development or seeking to expand their knowledge. She is an active member of the community and has founded the DotNet Iasi User Group and the dotnetdays.ro conference, where she connects with like-minded developers who are eager to share their expertise and insights. Irina is also a prolific blogger, and her website, https://irina.codes, features a wealth of articles on various coding topics.
More courses by Irina Scurtu© 2023 Dometrain. All rights reserved.