go-zero

Contents

Roadmap info from roadmap website

go-zero framework

go-zero is a web and rpc framework with lots of engineering best practices builtin. It’s born to ensure the stability of the busy services with resilience design, and has been serving sites with tens of millions users for years.

Visit the following resources to learn more:

Go-Zero__

  • Purpose: Web and RPC services with integrated service discovery, concurrency control, and observability.

  • Key Features: Concurrency control, built-in observability, and service governance.

  • Best For: Web and RPC services focusing on scalability and performance.

    Example:

    server := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
        pb.RegisterGreeterServer(grpcServer, svc)
    })

Go-Zero__ - High-Performance Web and RPC Services

Solution Example: High-Traffic Social Media Application

  • Use Case: A social media platform with features like user profiles, posts, likes, and comments requires high concurrency and low-latency responses.

  • Framework Usage: With Go-Zero, web services like ProfileService and PostService handle high traffic efficiently, using built-in concurrency control and rate limiting to protect the system.

  • Workflow:

    • ProfileService and PostService handle millions of requests, leveraging Go-Zero’s built-in features for concurrency.
    • Services can be scaled out to handle increasing loads without changing the codebase significantly.

    Example:

    server := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
        pb.RegisterProfileServer(grpcServer, svc)
    })
#ready #online #reviewed #microservices #go #frameworks