littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于Go语言的数据分发与处理系统

项目简介

本项目是基于Go语言构建的数据分发与处理系统,可接收各类数据上报,减轻各应用数据收集的接口压力。系统能够将数据写入ES,也可将数据分发至对应的应用接口,支持多种数据传输方式与配置,具备热加载、通用搜索中间件等特性。

项目的主要特性和功能

  1. 数据接收:支持POST/GET单条数据、POST多条数据以及UDP数据上报,POST支持请求体压缩传输,HTTP接口支持数据压缩传输。
  2. 接口生成:基于配置文件自动生成接口地址,新增接口只需增加一行接口名称,且兼容旧版接口。
  3. 数据处理与分发:可将数据写入ES,能指定索引名称、索引切割方式,可分发数据给接口对应的应用接口,还能配置数据先汇聚再发送。
  4. 参数配置:有ES写入条数/大小/时间阈值控制、写入并发数控制、状态码重试配置,可配置检查必有字段。
  5. 系统特性:配置文件热加载,程序变化自动重启;具备ES通用搜索中间件和访问IP白名单;支持数据代理,将数据传递给上联服务器处理。

安装使用步骤

修改配置

先修改配置文件中的ES连接地址,环境变量及加密小工具见 tools,需要的环境变量见 script

运行程序

  • 运行 ./bin/xydatarouter,默认使用程序文件夹下 ./etc/xydatarouter.json
  • 可带配置文件路径运行,如 ./bin/xydatarouter -c /mydir/conf.json
  • 可指定将HTTP/UDP接收到的数据传递给上联服务器处理,如 ./bin/xydatarouter -f 1.2.3.4:6633

后台运行与守护

自动后台运行并守护自身,Warn 和守护日志在 log/daemon.log,错误日志存放于 log 目录。

系统状态与检查

  • 系统状态访问:http://api.domain:6600/sys/status (JSON格式,可用于报警)。
  • 心跳检查地址:http://api.domain:6600/heartbeat (返回字符串 OK)。
  • PING地址:http://api.domain:6600/ping (返回字符串 PONG)。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】