分布式 - golang 实现任务的下发与上报?

查看:127
本文介绍了分布式 - golang 实现任务的下发与上报?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

最近在用 Golang 做一个监控任务,比如监控一个 url 的访问情况,思路是在服务器上模拟发送 Http 然后看返回的响应的状态码响应体等情况,这部分代码已经实现,现在需要做的是将监控任务部署在多台服务器上实现分布式监控,想到的应该是要有一个中央控制器 server,负责来创建调度下发任务,然后有很多 agent(服务器) 来负责跑这个任务,并上传各自的任务情况到 server。

想请教下大牛们有没有相关的分布式任务下发上传的检验,或者有没有一些比较好的开源的库可以来实现这个功能,不胜感谢。

解决方案

不想额外装第三方服务,直接利用channel和socket来实现。
agent 发起socket长链挂到server上
每个agent对应的socket绑定到固定channel
当server接收到任务的时候,根据规则分发到各个channel
channel接收到数据写入到对应socket中,这样子agent就能接收到任务请求,处理完后在利用socket返回结果
一个channel可以绑定多个socket,一个socket也可以监听多个channel、。
主要利用的就是channel,socket长链,然后多开几个goroutine做好socket的监听处理

这篇关于分布式 - golang 实现任务的下发与上报?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆