项目简介
本项目是基于Go语言构建的数据分发与处理系统,可接收各类数据上报,减轻各应用数据收集的接口压力。系统能够将数据写入ES,也可将数据分发至对应的应用接口,支持多种数据传输方式与配置,具备热加载、通用搜索中间件等特性。
项目的主要特性和功能
- 数据接收:支持POST/GET单条数据、POST多条数据以及UDP数据上报,POST支持请求体压缩传输,HTTP接口支持数据压缩传输。
- 接口生成:基于配置文件自动生成接口地址,新增接口只需增加一行接口名称,且兼容旧版接口。
- 数据处理与分发:可将数据写入ES,能指定索引名称、索引切割方式,可分发数据给接口对应的应用接口,还能配置数据先汇聚再发送。
- 参数配置:有ES写入条数/大小/时间阈值控制、写入并发数控制、状态码重试配置,可配置检查必有字段。
- 系统特性:配置文件热加载,程序变化自动重启;具备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】