gRPC: Up and Running: Building Cloud Native Applications with Go and Java for Docker and Kubernetes

gRPC: Up and Running: Building Cloud Native Applications with Go and Java for Docker and Kubernetes

作者: Indrasiri Kasun Kuruppu Danesh
出版社: O'Reilly
出版在: 2020-02-18
ISBN-13: 9781492058335
ISBN-10: 1492058335
裝訂格式: Quality Paper - also called trade paper
總頁數: 200 頁





內容描述


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.


目錄大綱


Preface
Why Did We Write This Book?
Who Is This Book For?
How This Book Is Organized
Using Code Examples
Conventions Used in This Book
O’Reilly Online Learning
How to Contact Us
Acknowledgments

  1. Introduction to gRPC
    What Is gRPC?
    Service Definition
    gRPC Server
    gRPC Client
    Client–Server Message Flow
    Evolution of Inter-Process Communication
    Conventional RPC
    SOAP
    REST
    Inception of gRPC
    Why gRPC?
    gRPC Versus Other Protocols: GraphQL and Thrift
    gRPC in the Real World
    Netflix
    etcd
    Dropbox
    Summary
  2. Getting Started with gRPC
    Creating the Service Definition
    Defining Messages
    Defining Services
    Implementation
    Developing a Service
    Developing a gRPC Client
    Building and Running
    Building a Go Server
    Building a Go Client
    Running a Go Server and Client
    Building a Java Server
    Building a Java Client
    Running a Java Server and Client
    Summary
  3. gRPC Communication Patterns
    Simple RPC (Unary RPC)
    Server-Streaming RPC
    Client-Streaming RPC
    Bidirectional-Streaming RPC
    Using gRPC for Microservices Communication
    Summary
  4. gRPC: Under the Hood
    RPC Flow
    Message Encoding Using Protocol Buffers
    Encoding Techniques
    Length-Prefixed Message Framing
    gRPC over HTTP/2
    Request Message
    Response Message
    Understanding the Message Flow in gRPC Communication Patterns
    gRPC Implementation Architecture
    Summary
  5. gRPC: Beyond the Basics
    Interceptors
    Server-Side Interceptors
    Client-Side Interceptors
    Deadlines
    Cancellation
    Error Handling
    Multiplexing
    Metadata
    Creating and Retrieving Metadata
    Sending and Receiving Metadata: Client Side
    Sending and Receiving Metadata: Server Side
    Name Resolver
    Load Balancing
    Load-Balancer Proxy
    Client-Side Load Balancing
    Compression
    Summary
  6. Secured gRPC
    Authenticating a gRPC Channel with TLS
    Enabling a One-Way Secured Connection
    Enabling an mTLS Secured Connection
    Authenticating gRPC Calls
    Using Basic Authentication
    Using OAuth 2.0
    Using JWT
    Using Google Token-Based Authentication
    Summary
  7. Running gRPC in Production
    Testing gRPC Applications
    Testing a gRPC Server
    Testing a gRPC Client
    Load Testing
    Continuous Integration
    Deployment
    Deploying on Docker
    Deploying on Kubernetes
    Observability
    Metrics
    Logs
    Tracing
    Debugging and Troubleshooting
    Enabling Extra Logging
    Summary
  8. The gRPC Ecosystem
    gRPC Gateway
    HTTP/JSON Transcoding for gRPC
    The gRPC Server Reflection Protocol
    gRPC Middleware
    Health Checking Protocol
    gRPC Health Probe
    Other Ecosystem Projects
    Summary
    Index

作者介紹


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.




相關書籍

JavaScript 技術手冊

作者 林信良

2020-02-18

Ajax: Your visual blueprint for creating rich Internet applications

作者 Steve Holzner

2020-02-18

JavaScript實用教程

作者 鄒瓊俊

2020-02-18