𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Modern API Design with gRPC: Efficient Solutions to Design Modern APIs with gRPC Using Golang for Scalable Distributed Systems

✍ Scribed by Hitesh Pattanayak


Publisher
Orange Education Pvt Ltd, AVAβ„’
Year
2024
Tongue
English
Leaves
331
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Elevate Your Development with Effortless and Efficient API Communication
Key Features

● Delve into core concepts of gRPC like Protocol Buffers, service definitions, and communication patterns.

● Implement gRPC servers and clients in Golang, and master Protocol Buffers for defining services and messages.

● Compare gRPC with REST and SOAP, uncovering its distinct advantages and use cases.

Book Description

β€œModern API Design with gRPC” is a definitive guide that empowers developers to leverage the full potential of gRPC in constructing efficient and scalable distributed systems.

Beginning with an exploration of API evolution and its significance in software development, the book seamlessly transitions into the core concepts of gRPC architecture, protocol buffers, and stubs. Through practical examples and clear instructions, readers embark on a journey to establish their first gRPC server and client, laying a solid groundwork for further exploration.

Delving deeper into advanced topics such as communication patterns, error handling, and load balancing strategies specific to gRPC. With a strong emphasis on security, readers learn to implement TLS encryption, mutual authentication, and authorization mechanisms to fortify their applications. The book provides invaluable insights into best practices for constructing production-grade gRPC applications, complemented by real-world case studies that illustrate the versatility and scalability of gRPC across diverse project landscapes. This book equips readers with the confidence to design, implement, and deploy robust gRPC applications, catalyzing a transformative shift in their distributed system development approach.

What you will learn

● Master core concepts and architecture of gRPC.

● Implementation of diverse communication patterns for streamlined data exchange.

● Application of TLS encryption and authentication for securing gRPC applications.

● Optimization of performance and scalability of gRPC services.

● Designing production-grade

✦ Table of Contents


Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Technical Reviewer
Acknowledgements
Preface
Errata
Table of Contents
1. API Evolution over Time
Introduction
Structure
Introduction to API
Advent of APIs
Socket-based Network Communication
Costs Associated with Traditional API Frameworks
Conclusion
Multiple Choice Questions
Answers
2. Fundamentals of gRPC
Introduction
Structure
Protocol Buffers β€” Foundation of gRPC
Message Encoding Using Protocol Buffers
HTTP/2
Features that Make gRPC Standout
Clean Contract
Size of Data
Serialization of Data
TCP Connection
Code Generation
Conclusion
Multiple Choice Questions
Answers
3. Getting Started with gRPC
Introduction
Structure
Folder Structure
CRUD Operations on β€˜Books’
Contrasting aspects of REST and gRPC implementations
Conclusion
Multiple Choice Questions
Answers
4. Communication Patterns in gRPC
Introduction
Structure
Explaining Unary RPC
Server-Side Streaming RPC
Client-Side Streaming RPC
Bi-Directional Streaming RPC
Conclusion
Multiple Choice Questions
Answers
5. Advanced gRPC Concepts
Introduction
Structure
Interceptors
Comparisons with middlewares
Implementing logging interceptor
Implementing Recovery Interceptor
Resilient gRPC communication
Cascading failures
Context and Deadlines
Mitigating cascading failures with Timeout pattern
Mitigating Cascading Failures with Retry pattern
Mitigating Cascading Failures with Circuit Breaker Pattern
Conclusion
Multiple Choice Questions
Answers
6. Load Balancing in gRPC
Introduction
Structure
Usage of load balancing
Tricky load balancing in gRPC servers
Sticky sessions
Chink in the armour of gRPC
Various Ways to Handle Load Balancing in gRPC
Client-side Load Balancing
Look-aside load balancing
gRPC load balancing with Istio
Conclusion
Multiple Choice Questions
Answers
References
7. Secured gRPC
Introduction
Structure
Enabling TLS Security in gRPC
Certificate Generation
Authenticating gRPC Calls
Using Basic Auth
Using JWT
Conclusion
Multiple Choice Questions
Answers
8. Production Grade gRPC Applications
Introduction
Structure
Requirement of Production Readiness
Tests for gRPC
Unit Testing
Integration Testing
Observability
Integration with Prometheus
Integration with Datadog
Deployments
API testing with Postman
Conclusion
Multiple Choice Questions
Answers
9. Case Studies of Projects Using gRPC
Introduction
Structure
LinkedIn Shifted from JSON+REST to gRPC+Protobuf
Background
Challenges with JSON
Vendasta’s Decision to Move their APIs to gRPC
Background
Problem
Optimizations and Challenges
Uber’s Implementation of gRPC for RealTime Push Platform
Background
Challenges with Polling
Netflix Optimizes Backend-to-Backend Communication with gRPC and Protobuf FieldMask
Conclusion
Multiple Choice Questions
Answers
References
Index


πŸ“œ SIMILAR VOLUMES


Modern API Development with Spring 6 and
✍ SOURABH SHARMA πŸ“‚ Library πŸ“… 2023 πŸ› Packt Publishing 🌐 English

Discover ways to enhance your application's functionality through hands-on learning for designing, testing, securing, deploying, and maintaining production-ready APIs Key Features Learn how to design, develop, test, and deploy modern APIs in Java Explore techniques for optimizing API performanc

Modern API Development with Spring and S
✍ Sourabh Sharma πŸ“‚ Library πŸ“… 2021 πŸ› Pckt 🌐 English

A developer's guide to designing, testing, and securing production-ready modern APIs with the help of practical ideas to improve your application's functionality ------------- Key Features ------------ Build resilient software for your enterprises and customers by understanding the complet

Modern API Development with Spring and S
✍ Sourabh Sharma πŸ“‚ Library πŸ“… 2021 πŸ› Packt Publishing 🌐 English

<p><b>A developer's guide to designing, testing, and securing production-ready modern APIs with the help of practical ideas to improve your application's functionality</b></p><h4>Key Features</h4><ul><li>Build resilient software for your enterprises and customers by understanding the complete API de

Modern API Development with Spring 6 and
✍ Sourabh Sharma πŸ“‚ Library πŸ“… 2023 πŸ› Packt Publishing - ebooks Account 🌐 English

<p><span>Discover ways to enhance your application's functionality through hands-on learning for designing, testing, securing, deploying, and maintaining production-ready APIs</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Learn how to design, develop, test, and deploy modern APIs i

Designing for Scalability with Erlang/OT
✍ Cesarini, Francesco;Vinoski, Steve πŸ“‚ Library πŸ“… 2016 πŸ› O'Reilly Media 🌐 English

Designing for scalability with Erlang/Open Telecom Platform.</div>

Designing for scalability with Erlang/OT
✍ Cesarini, Francesco;Vinoski, Steve πŸ“‚ Library πŸ“… 2016 πŸ› O'Reilly Media 🌐 English

Designing for scalability with Erlang/Open Telecom Platform.</div>