SuperAPI AI 工具集

go-microservices

部署与运维

查看项目

更新于 10-15 19:56

技能介绍

用途:该技能面向使用 Go 构建微服务的开发场景,围绕云原生常见模式提供实现参考,涵盖 gRPC、REST、服务发现、熔断、可观测性、健康检查与优雅关闭。

主要能力:

  1. gRPC 服务:给出 proto 定义示例(含一元与流式 RPC),以及服务端实现、日志/恢复/校验等一元拦截器写法。
  2. REST API:基于 chi 路由与中间件(RequestID、RealIP、Logger、Recoverer、Timeout、CORS)组织 /api/v1 路由与错误处理。
  3. 服务发现:使用 Consul 客户端注册与注销服务,并配置 gRPC 健康检查。
  4. 熔断:基于 gobreaker 设置失败阈值、间隔、超时与状态变更回调,并封装 Execute 调用外部依赖。
  5. 健康检查:使用 gRPC health 服务,后台定时检查数据库与 Redis 并设置服务状态。
  6. 优雅关闭:同时启动 HTTP 与 gRPC 服务,监听 SIGINT/SIGTERM 后在超时上下文内关闭。
  7. 配置管理:用 envconfig 从环境变量加载端口、数据库、Redis、Consul、日志与追踪等配置。
  8. 可观测性:slog 结构化日志、Prometheus 指标(请求计数、耗时直方图、活跃连接)与 OpenTelemetry 分布式追踪初始化。

使用方式:资料以代码示例形式呈现,需结合 Go 项目与相应依赖(如 google.golang.org/grpc、go-chi、hashicorp/consul/api、sony/gobreaker、prometheus/client_golang、OpenTelemetry SDK 等)参考实现。资料未提供安装命令或调用步骤。

适用场景:需要搭建或规范化 Go 微服务骨架、补充服务治理与可观测性能力的工程场景。

限制:资料为模式示例,未说明具体版本兼容性、部署方式、性能数据或收费信息;部分示例代码存在不完整或变量未定义的情况,实际使用需自行补全与验证。