# go-grpc **Repository Path**: chenbool/go-grpc ## Basic Information - **Project Name**: go-grpc - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-17 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🏢 Go gRPC 示例项目 ![版本](https://img.shields.io/badge/版本-1.0.0-blue) ![状态](https://img.shields.io/badge/构建-通过-green) > 一个基于 Go 语言实现的 gRPC 示例项目,演示了如何使用 gRPC 构建高性能的远程过程调用服务。 ## 📋 目录 - [项目结构](#项目结构) - [特性](#特性) - [架构图](#架构图) - [安装](#安装) - [使用](#使用) - [相关资源](#相关资源) ## 📁 项目结构 ``` go-grpc/ ├── protobuf/ │ ├── hello.proto # Protocol Buffers 定义文件 │ └── hello_grpc/ # 生成的 gRPC 代码 ├── client/ │ └── 1.原生grpc.go # 客户端实现 ├── server/ │ └── 1.原生grpc.go # 服务器实现 ├── README.md # 项目说明文档 └── go.mod # Go 模块定义文件 ``` ## ⚡ 特性 | 功能 | 描述 | 状态 | |------|------|------| | 高性能 RPC | 基于 HTTP/2 的 gRPC 通信 | ✅ 完成 | | Protocol Buffers | 使用 protobuf 定义服务接口 | ✅ 完成 | | 客户端/服务器 | 完整的客户端和服务器实现 | ✅ 完成 | | 跨平台支持 | 支持 Windows、Linux、macOS | ✅ 完成 | ## 🏗️ 架构图 ```mermaid graph TD A[客户端] -->|gRPC 调用| B(服务器) B -->|响应| A C[Protocol Buffers] -->|定义接口| A C -->|定义接口| B ``` ## 📦 安装 ### 环境要求 - Go 1.15 或更高版本 - protoc 编译器 - protoc-gen-go 插件 ### 安装步骤 1. 安装 protoc 编译工具: ```bash # Windows 用户可以从以下链接下载: # https://github.com/protocolbuffers/protobuf/releases/ ``` 2. 安装 Go 依赖: ```bash go get github.com/golang/protobuf/proto go get google.golang.org/grpc go install github.com/golang/protobuf/protoc-gen-go ``` 3. 配置环境变量: - 将 protoc 的 bin 目录添加到系统环境变量 PATH 中 - 将 protoc-gen-go.exe 所在目录也添加到环境变量 PATH 中 ## 🚀 使用 ### 1. 生成代码 ```bash # 在项目根目录下执行 protoc -I . --go_out=plugins=grpc:. ./protobuf/hello.proto ``` ### 2. 启动服务器 ```bash cd server go run 1.原生grpc.go ``` ### 3. 运行客户端 ```bash cd client go run 1.原生grpc.go ``` ## 📚 相关资源 - [gRPC 官方文档](https://grpc.io/docs/) - [Protocol Buffers 官方文档](https://developers.google.com/protocol-buffers/docs/overview) - [Go gRPC 教程](https://grpc.io/docs/languages/go/quickstart/)