MarketingSystemDataExportTool/server/GRPC_SETUP.md

1.6 KiB
Raw Permalink Blame History

gRPC 集成说明

已完成的工作

  1. 更新了配置结构,添加了 grpc_server 配置支持
  2. 添加了 gRPC 依赖到 go.mod
  3. 创建了 gRPC 客户端包装器 (server/internal/grpc/user_client.go)
  4. 修改了 /api/ymt/users 接口使用 gRPC 调用 SimpleListAllUser
  5. 更新了路由和主程序传递 gRPC 配置

需要完成的步骤

1. 生成 Proto 文件

在项目根目录运行:

cd grpc
make generate

这将生成 grpc/user/userv1/*.pb.go 文件。

2. 下载 Go 依赖

server 目录运行:

cd server
go mod tidy

这将下载 google.golang.org/grpcgoogle.golang.org/protobuf 等依赖。

3. 配置 gRPC 服务器地址

确保 server/config.yaml 中配置了 gRPC 服务器地址:

app:
  grpc_server:
    host: "121.41.108.37"
    port: "30900"

或者通过环境变量设置:

export GRPC_SERVER_HOST=121.41.108.37
export GRPC_SERVER_PORT=30900

4. 编译和运行

cd server
go build -o server ./cmd/server/main.go
./server

接口变更

/api/ymt/users 接口现在通过 gRPC 调用获取数据,而不是直接查询数据库。

请求参数:

  • limit (可选): 限制返回数量,默认 2000最大 10000
  • q (可选): 搜索关键词

响应格式:

[
  {
    "id": 1,
    "name": "用户名1"
  }
]

注意事项

  • 如果 gRPC 服务器地址未配置,接口会返回错误
  • gRPC 连接使用单例模式,整个应用共享一个连接
  • 连接包含 keepalive 配置,自动维护连接健康