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

【源码】基于Go语言和gozero框架的分布式任务管理系统

项目简介

本项目是基于Go语言和go-zero框架开发的分布式任务管理系统,集成了RPC服务、任务管理、分布式追踪、服务注册与发现、监控与指标等多个模块。采用gRPC进行服务间通信,借助go-zero框架开展服务开发,支持任务的添加、取消、查询等操作,还集成了分布式追踪系统Jaeger,可提供任务追踪和监控功能。

项目的主要特性和功能

  1. RPC服务:提供RPC接口,支持任务管理、状态查询等功能。
  2. 任务管理:通过异步任务队列asynq实现任务推送、处理、删除等功能。
  3. 分布式追踪:集成Jaeger分布式追踪系统,实现任务执行链路追踪。
  4. 服务注册与发现:使用Polaris作为服务注册中心,实现服务自动注册和发现。
  5. 监控与指标:使用Prometheus进行服务监控,收集并展示系统关键指标。

安装使用步骤

准备环境

安装Go语言环境,确保版本与项目兼容。

运行服务

  • 启动RPC服务:go run gozerodemo.go -f etc/gozerodemo-api.yaml
  • 启动Jaeger分布式追踪系统:docker run -d --name jaeger -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 -p 14250:14250 -p 9411:9411 jaegertracing/all-in-one:1.23
  • 启动asynq任务队列监控:docker run --rm --name asynqmon -d -p 8098:8080 -e REDIS_ADDR=172.17.0.1:6379 hibiken/asynqmon

配置修改

根据项目配置文件,修改服务端口、数据库连接等参数。

测试与调试

  • 使用curl命令测试RPC服务:curl -i -X GET http://localhost:8888/from/me
  • 使用grpcui工具测试gRPC服务:grpcui -plaintext localhost:8080

部署

  • 使用Docker部署:docker build -t demo:v1 -f api/Dockerfile .docker run --rm -it -p 8888:8888 demo:v1
  • 使用Kubernetes部署:kubectl create namespace devkubectl apply -f deploy/demo.yaml

下载地址

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