Zing 论坛

正文

SATRIA:基于微服务架构的水产养殖水质预警系统

一个使用FastAPI、MLflow、React和Docker构建的机器学习水质预警系统,采用微服务架构实现水质分类预测与实时监控。

machine learningaquaculturewater qualitymicroservicesFastAPIMLflowReactSupabaseearly warning systemMLOps
发布时间 2026/06/09 19:16最近活动 2026/06/09 19:22预计阅读 4 分钟
SATRIA:基于微服务架构的水产养殖水质预警系统
1

章节 01

SATRIA:基于微服务架构的水产养殖水质预警系统导读

SATRIA 项目核心介绍

SATRIA 是一个基于微服务架构的水产养殖水质预警系统,使用 FastAPI、MLflow、React 和 Docker 构建,实现水质分类预测与实时监控。

该系统旨在解决传统水质监测的时效性差、成本高问题,通过机器学习模型实时预警水质变化,帮助养殖者降低风险、提高产量。

2

章节 02

项目背景与意义

项目背景与意义

水产养殖业是全球食品供应链的重要组成部分,水质管理直接影响养殖效益和生态安全。传统监测依赖人工采样和实验室分析,存在以下问题:

  • 时效性差:无法实时反映水质变化
  • 成本高昂:人工和实验室费用高
  • 难以大规模监控:无法覆盖大面积养殖区域

SATRIA 项目应运而生,作为水产养殖场景的早期预警系统,通过机器学习模型对水质参数实时分类预测,帮助养殖者及时采取措施,降低风险。

3

章节 03

系统架构与技术栈

系统架构与技术栈

系统架构

采用微服务架构,分为四个核心模块:

  1. API Gateway: 统一入口,JWT 身份验证,流量路由到 ML 或数据服务
  2. 机器学习服务: FastAPI 构建,MLflow 管理模型版本,离线烘焙模型确保零延迟推理
  3. 数据服务: 与 Supabase PostgreSQL 交互,处理用户档案、预测记录等数据操作
  4. 前端仪表板: React + Vite 构建,提供实时监控、数据可视化和用户认证

技术栈

  • 前端: Vite、React + TypeScript、Supabase JS Client、原生 SVG/CSS 图表
  • 后端: FastAPI + Uvicorn、HTTPX、Pydantic、Pandas、LightGBM + Scikit-learn、MLflow
  • 数据库与认证: Supabase Auth (JWT)、Supabase PostgreSQL (行级安全策略)
4

章节 04

数据集与预测模型

数据集与预测模型

数据集

使用 Kaggle 上的 "Refined Aquaculture Water Suitability Signals" 数据集,包含 4300 条记录和 17 个特征列。

输入特征

模型接收 13 个水质参数:

  • 物理指标:温度、浊度
  • 溶解气体:溶解氧、生化需氧量、二氧化碳
  • 化学指标:pH 值、总碱度、总硬度、钙
  • 营养物质:氨氮、硝酸盐、磷酸盐
  • 其他:硫化氢、浮游生物计数

预测输出

  • predicted_class_id: 水质类别 ID
  • predicted_suitability_tier: 适宜性等级(如适宜、临界、不适宜)
  • 各类别概率分布:支持决策置信度评估
5

章节 05

部署方案

部署方案

本地开发

  • 一键启动:使用 run.bat 脚本启动所有微服务
  • Docker Compose:本地构建完整技术栈,确保环境一致性

Vercel 部署

  • 配置 vercel.json,直接从 Git 仓库部署
  • 需要设置 Supabase 连接信息和后端 API 地址等环境变量

生产环境检查清单

项目提供 docs/DEPLOYMENT_CHECKLIST.md,涵盖:

  • 用户认证测试
  • 预测功能验证
  • 仪表板数据可视化检查
  • API 健康状态监控
6

章节 06

项目特色与应用场景

项目特色与应用场景

特色创新

  1. 微服务架构: 提高可维护性和扩展性
  2. MLOps 集成: 模型版本管理、超参数优化、A/B 测试支持
  3. 零延迟推理: 预训练模型离线打包,推理无实时计算延迟
  4. 实时数据分析: 内置 EDA 功能,支持分布分析和异常值检测
  5. 多层安全: JWT 认证 + 行级安全策略

应用场景

  • 淡水养殖场:对虾、鱼类等高密度养殖监控
  • 海水养殖区:贝类、藻类等敏感物种养殖
  • 水产科研:水质变化规律研究和模型验证
  • 环境监测:养殖区周边水体生态健康评估

价值: 提前预警水质恶化,帮助调整操作,减少损失,实现经济与环境双赢。

7

章节 07

项目总结

项目总结

SATRIA 项目将现代软件工程最佳实践(微服务、MLOps、DevOps)应用于传统农业领域,不仅是技术演示,更是具备实际应用价值的解决方案原型。

对于希望学习全栈开发、机器学习工程化或关注智慧农业技术的开发者,这是一个值得深入研究的优质开源项目。