mcpField
G
grpc-service-development

grpc-service-development

github.com/aj-geddes开发373529 次安装34 周前更新
代码仓库

关于 grpc-service-development

用于使用 Protocol Buffers 构建 gRPC 服务的开发技能,涵盖服务定义、单向及流式通信,并提供 Node.js、Python 和客户端实现参考。

主要功能

  1. 01Protocol Buffers 服务定义
  2. 02单向与流式 RPC 模式
  3. 03Node.js 服务端实现指南
  4. 04Python 服务端实现指南
  5. 05客户端实现指南
  6. 06错误处理与服务实践

适用场景

  1. 01构建高性能微服务
  2. 02创建内部服务间 API
  3. 03实现实时双向通信
  4. 04设计多语言服务架构

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill grpc-service-development

安装后在 Claude Code 中输入/grpc-service-development确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
client-implementation.md
nodejs-grpc-server-implementation.md
protocol-buffer-service-definition.md
python-grpc-server-grpcio.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

详细介绍

gRPC 服务开发

目录

概述

使用 Protocol Buffers 定义服务,开发高效的 gRPC 服务,并支持一元调用、客户端流式传输、服务端流式传输和双向流式传输模式。

适用场景

  • 构建需要高性能的微服务
  • 使用 Protocol Buffers 定义服务契约
  • 实现实时双向通信
  • 创建内部服务间 API
  • 优化带宽受限的环境
  • 构建多语言服务架构

快速入门

最简可运行示例:

syntax = "proto3";

package user.service;

message User {
  string id = 1;
  string email = 2;
  string first_name = 3;
  string last_name = 4;
  string role = 5;
  int64 created_at = 6;
  int64 updated_at = 7;
}

message CreateUserRequest {
  string email = 1;
  string first_name = 2;
  string last_name = 3;
  string role = 4;
}

message UpdateUserRequest {
  string id = 1;
  string email = 2;
  string first_name = 3;
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
Protocol Buffer 服务定义Protocol Buffer 服务定义
Node.js gRPC 服务端实现Node.js gRPC 服务端实现
Python gRPC 服务端(grpcio)Python gRPC 服务端(grpcio)
客户端实现客户端实现

最佳实践

✅ 应该做
  • 使用清晰的消息和服务命名
  • 使用 gRPC 状态码实现适当的错误处理
  • 添加用于日志记录和跟踪的元数据
  • 为 protobuf 定义进行版本控制
  • 使用流式传输处理大型数据集
  • 设置超时和截止时间
  • 监控 gRPC 指标
❌ 不应该做
  • 将 gRPC 用于基于浏览器的客户端(请使用 gRPC-Web)
  • 在 proto 定义中暴露敏感数据
  • 创建嵌套层级过深的消息
  • 忽略错误状态码
  • 发送未经压缩的大型载荷
  • 在生产环境中省略 TLS 安全保护

评论

支持 Markdown