# spikes-rpc **Repository Path**: enjoy_5/spikes-rpc ## Basic Information - **Project Name**: spikes-rpc - **Description**: 秒杀 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-17 - **Last Updated**: 2025-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 秒杀系统 RPC 服务文档 ## 项目概述 本项目是一个基于 gRPC 的秒杀系统服务,提供了秒杀活动的创建、删除、查询,以及秒杀商品的库存管理、订单创建与删除等功能。项目使用 Nacos 作为服务发现与配置中心,gRPC 作为通信协议。 ## 目录结构 ``` spikes-rpc/ ├── config.yaml # 配置文件 ├── constant.go # 常量定义 ├── main.go # 主程序入口 ├── order.go # 秒杀订单相关操作 ├── spikes.go # 秒杀活动与商品相关操作 └── spikes.proto # gRPC 服务定义 ``` ## 如何运行 1. **配置 Nacos**: - 确保 Nacos 服务已启动,并且配置文件 `config.yaml` 中的 Nacos 配置正确。 2. **启动服务**: - 运行 `main.go` 启动 gRPC 服务。 3. **调用服务**: - 通过 gRPC户端调用定义在 `spikes.proto` 中的服务接口。 ## 依赖 - `gitee.com/xuxinzhi2206/corehub/viper`:用于读取配置文件。 - `gitee.com/xuxinzhi2206/corehub/nacos`:用于服务发现与注册。 - `google.golang.org/grpc`:gRPC 通信库。 ## 维护与扩展 - **添加新功能**: - 在 `spikes.proto` 中定义新的 RPC 服务接口,并在 `spikes.go` 中实现对应的功能。 - **修改配置**: - 通过修改 `config.yaml` 文件来调整服务配置。 ## 注意事项 - 请确保 Nacos 服务正常运行,否则服务发现与注册将失败。 - 在修改 `spikes.proto` 文件后,需要重新生成 gRPC 代码。 ## YAML 命名规范 配置文件参数 | key | 示例 | 注释 | |-------------------|----------------------------------------|------------------| | host | "121.36.228.151" | Nacos 的主机地址 | | port | 8848 | Nacos 的端口 | | context-path | "/nacos" | Nacos 的上下文路径 | | data-id | "spikes-rpc" | 项目的 ID | | namespace | "f336569f-b491-4e65-b4e7-49ba9ca09119" | 命名空间 ID | | group | "rpc" | 项目的分组 | | timeout-ms | 5000 | 客户端的响应时间 | | log-dir | "./tmp/nacos/log" | 日志输出路径 | | cache-dir | "./tmp/nacos/cache" | 缓存输出路径 | | log-level | "debug" | 日志等级 | | ip | "121.36.228.151" | 服务端口 | | service-name | "spikes-rpc" | 注册服务的服务名称 | | group-name | "rpc" | 注册服务的服务分组 | | port-number | "4455" | 注册服务的端口 | | weight | 1 | 权重 | | spikes-servername | "spikes-rpc" | 服务发现名称 | ## 分支命名规范 - 创建分支使用 `branch` + 分支名称 - **功能分支**:`feature/功能描述` (例如: `feature/user-create`) - **bugfix分支**:`bugfix/bug描述` (例如: `bugfix/user-create`) 请遵守以上规范以保证项目的可维护性与可扩展性。