Building Cloud Native Applications with Go and Java for Docker and Kubernetes
Kasun Indrasiri, Danesh Kuruppu

#gRPC
#Up_and_Running
#Go
#Java
#Node
#Python
#microservices
درک جامع از gRPC با مثالهای واقعی — راهنمایی عملی برای توسعهدهندگان و معماران نرمافزار
این کتاب کاربردی با هدف آموزش جامع پروتکل ارتباطی gRPC نوشته شده است—یک پروتکل ارتباطی مدرن و پرکاربرد که بر پایه Remote Procedure Call (RPC) طراحی شده و عملکردی بالا در برقراری ارتباط بین سرویسها در معماری مایکروسرویس ارائه میدهد. gRPC علاوه بر فراهم کردن ارتباط میان سرویسهای چندزبانه (polyglot)، فریمورکی قوی برای تعریف قرارداد سرویسها و انواع دادهها نیز ارائه میکند.
با مثالهای واقعی در زبانهای Go، Java، Node.js و Python، این کتاب نهتنها اصول و مفاهیم بنیادین gRPC را آموزش میدهد، بلکه تکنیکها، الگوها و بهترین شیوههای پیادهسازی gRPC در محیطهای عملیاتی را نیز پوشش میدهد.
با رشد روزافزون استفاده از gRPC در توسعهی اپلیکیشنهای مایکروسرویس و کلاد نیتیو، نویسندگان (Kasun Indrasiri و Danesh Kuruppu) دریافتند که نیاز به یک منبع جامع و مرجع واحد برای یادگیری gRPC وجود دارد—کتابی که توسعهدهندگان بتوانند در تمام مراحل چرخه توسعهی اپلیکیشنهای gRPC از آن استفاده کنند.
در حالیکه منابع پراکندهای مانند مستندات، وبلاگها، مقالات و سخنرانیها وجود دارند، اما هیچ مرجع جامعی که همهچیز را در کنار هم ارائه دهد—از مبانی تا نحوه عملکرد داخلی gRPC و نحوه استقرار در محیطهای واقعی—در دسترس نبود. این کتاب دقیقاً برای پر کردن این خلأ نوشته شده است.
این کتاب به عنوان راهنمای نهایی برای یادگیری و استفاده عملی از gRPC، نهتنها مبانی را به خوبی پوشش میدهد، بلکه شما را برای استفاده از آن در مقیاس سازمانی و در کنار فناوریهای مدرن آماده میسازد.
Get a comprehensive understanding of gRPC fundamentals through real-world examples. With this practical guide, you’ll learn how this high-performance interprocess communication protocol is capable of connecting polyglot services in microservices architecture, while providing a rich framework for defining service contracts and data types.
Complete with hands-on examples written in Go, Java, Node, and Python, this book also covers the essential techniques and best practices to use gRPC in production systems. Authors Kasun Indrasiri and Danesh Kuruppu discuss the importance of gRPC in the context of microservices development.Nowadays software applications are often connected with each other over computer networks using inter-process communication technologies. gRPC is a modern inter-process communication style based on high-performance RPCs (remote procedure calls) for building distributed applications and microservices. With the advent of microservices and cloud native applications, the adoption of gRPC is exponentially growing.
Table of Contents
Chapter 1. Introduction to gRPC
Chapter 2. Getting Started with gRPC
Chapter 3. gRPC Communication Patterns
Chapter 4. gRPC: Under the Hood
Chapter 5. gRPC: Beyond the Basics
Chapter 6. Secured gRPC
Chapter 7. Running gRPC in Production
Chapter 8. The gRPC Ecosystem
Why Did We Write This Book?
With the increasing adoption of gRPC, we felt that developers need a comprehensive book on gRPC, a book that you can use as the ultimate reference guide in every stage of the development cycle of your gRPC applications. There are a lot of resources and code samples for gRPC all over the place (documentation, blogs, articles, conference talks, and so on), but there’s no single resource that you can use to build gRPC applications. Also, there aren’t any resources on the internals of the gRPC protocol and how it works under the hood.
We wrote this book to overcome those challenges and give you a comprehensive understanding of the fundamentals of gRPC, how it differs from conventional inter-process communication technologies, real-world gRPC communication patterns, how to build gRPC applications using Go and Java, how it works under the hood, how to run gRPC applications in production, and how gRPC works with Kubernetes and the rest of the ecosystem.
Who Is This Book For?
The book is most directly relevant to developers who are building distributed applications and microservices using different inter-process communication technologies. When it comes to building such applications and services, developers need to learn the fundamentals of gRPC, when and how to use it for inter-service communication, best practices for running gRPC services in production, and so on.
Also, architects who are adopting microservices or cloud native architecture and designing how the services should communicate will get a lot of insight from the book because it compares and contrasts gRPC with other technologies and provides guidelines on when to use and when to avoid it.
We assume that both developers and architects have a basic understanding of the fundamentals of distributed computing such as inter-process communication techniques, service-oriented architecture (SOA), and microservices.
Kasun Indrasiri is an author and an evangelist of Microservices and Enterprise Integration Architecture with over ten years of experience in building distributed systems. He is the director of Integration Architecture at WSO2 and the product manager of the WSO2 Enterprise Integrator. He has authored Microservices for Enterprise (Apress, 2018) and Beginning WSO2 ESB (Apress, 2017) books and has spoken at several conferences including O’Reilly Software Architecture Conference 2019 in San Jose, GOTO Con 2019 in Chicago, and WSO2 Conferences in San Francisco, London, and Barcelona. Kasun lives in San Jose, California and has founded the “Silicon Valley Microservices, APIs and Integration” Meetup, which is one of the largest microservices meetups in the San Francisco Bay area.
Danesh Kuruppu is an Associate Technical Lead at WSO2 and with over five years of experience in Enterprise Integration and Microservices technologies. Danesh is the main designer and developer of adding gRPC support for the open source, cloud native programming language, Ballerina. He is part of the gRPC community and a key contributor to the WSO2 Microservices Framework for Java and WSO2 Governance Registry.





