go-grpc-go


tags:

  • ready
  • online
  • reviewed
  • microservices
  • go
  • frameworks

grpc-go

Contents

__Roadmap info from [ roadmap website ] (https://roadmap.sh/golang/go-microservices/grpc-go) __

gRPC Go

Go language implementation of gRPC (gRPC is a technology for implementing RPC APIs).Visit the following resources to learn more:

  • @opensource@gRPC-go Github

    gRPC-Go__

    • Purpose: High-performance, low-latency RPC framework using HTTP/2.
    • Best For: Building performant microservices that require fast communication.

    Example:

    conn, err := grpc.Dial(":50051", grpc.WithInsecure())
    defer conn.Close()
    client := pb.NewGreeterClient(conn)
    

    gRPC-Go__ - High-Performance Communication Between Services

    Solution Example: Video Streaming Platform

    • Use Case: A video streaming platform requires high-performance communication between its services for tasks like encoding, streaming, and user session management.
    • Framework Usage: gRPC-Go ensures fast, low-latency communication between StreamingService, EncoderService, and UserSessionService.
    • Workflow:
    1. UserSessionService communicates with StreamingService over gRPC to manage user connections and streaming quality.
    2. EncoderService encodes video in real-time and sends updates to StreamingService via gRPC.

    Example:

    conn, err := grpc.Dial(":50051", grpc.WithInsecure())
    client := pb.NewStreamingClient(conn)