🚀 基于 go-zero 的高性能微服务脚手架
zero-service
旨在帮助开发者快速搭建可扩展、可维护的工业协议处理系统,已适配 IEC 60870-5-104 协议在电力场站的接入需求。
支持 Kafka、gRPC、异步调度、文件上传等场景,适配多语言微服务对接。
该图展示了 本系统作为 IEC 60870-5-104 主站,主动对接多个下级从站设备的整体架构:
- 💡 提供 IEC 60870-5-104 协议 ASDU 报文的接收、解析与编码能力;
- 🔍 支持多种类型 ASDU 的解析与生成(遥信、遥测、遥控等);
- 🧪 提供协议模拟功能,便于调试与联调;
- 🔗 集成 Kafka,实现异步、高吞吐的数据流处理;
- 📄 对接文档:Kafka 消息格式说明
- ✅ 消费来自
iec104
服务发送的 Kafka 消息; - 🧩 支持 chunk 批处理机制,提升处理效率;
- 🚀 基于 go-queue,支持高并发处理(理论峰值 15W/s);
- 📡 将处理结果通过 gRPC 下发至后端业务模块;
- 📄 协议定义:
iecstream.proto
- 💾 支持基于 gRPC 的分片流式上传;
- ☁️ 集成对象存储(OSS)能力,支持大文件断点续传;
- 📁 可用于存储协议数据、任务报告等业务文件。
- ⏱️ 基于 asynq,实现定时/延时任务调度;
- 📦 使用 Redis 存储任务队列,支持多节点部署与高可用;
- 🔁 支持 HTTP/gRPC 回调,适配多种业务场景;
- 🔧 支持任务归档、删除与自动重试等管理能力;
- 📄 协议定义:
trigger.proto
- 依赖管理:请确认
go.mod
中的依赖已正确安装,执行go mod tidy
; - 日志配置:确认各服务配置文件中的日志路径可用;
- Kafka 配置:确保 Kafka 地址与 topic 配置正确;
- Java 接入:如需与 Java 应用集成,可参考 grpc-spring-boot-starter。