本项目是一个面向微服务架构的分布式API网关与实时监控平台,解决多服务环境下统一鉴权、流量控制、服务熔断和可观测性问题。项目采用Go + Python双语言架构,Go负责高性能网关代理层,Python负责监控数据分析与告警。
责任描述:
- 负责整体架构设计和技术选型,确定Go网关 + Python监控的双语言方案
- 使用Go语言实现API网关核心功能:基于令牌桶算法的请求限流、基于轮询的负载均衡、断路器模式(Closed/Open/Half-Open三态切换)、JWT统一鉴权
- 使用Python FastAPI实现监控分析服务,通过Pandas计算P50/P95/P99延迟分位线、错误率、QPS趋势分析
- 实现基于规则的告警引擎,支持错误率超阈值告警、延迟超限告警、服务下线告警
- 使用Vue3 + ECharts构建实时监控仪表盘,通过WebSocket推送实时指标数据
- 编写Docker Compose编排方案,实现PostgreSQL + Redis + Gateway + Monitor + Frontend一键部署
项目技术:Go(Gin框架、JWT、YAML配置)、Python(FastAPI、Pandas、Redis、WebSockets)、Vue3(Vite、Axios、ECharts)、PostgreSQL、Redis、Docker Compose
项目难点:
1. 限流算法选择:对比固定窗口、滑动窗口、令牌桶三种方案后选择令牌桶,兼顾突发流量支持与平滑限流效果
2. 断路器状态机设计:需正确处理Closed到Open到Half-Open的状态转换,避免雪崩效应同时保证服务恢复后自动探测
3. 实时指标推送:监控数据量较大时需做聚合降采样后再通过WebSocket推送前端,平衡实时性与性能
项目心得:通过本项目深入理解了微服务网关的核心设计模式,限流和熔断的本质是保护下游服务而非拒绝请求。Python数据分析层与Go高性能代理层的职责分离,使系统在可维护性和性能之间取得良好平衡。
需求方专属客服,免费梳理匹配
添加客服微信,免费为您安排与该工程师直接沟通
长按二维码添加客服微信
如当前档期不合,也可免费为您推荐相似案例作者