简单说一下 jiascheduler 推送脚本到海量节点的架构设计

查看 7|回复 1
作者:iwannay   
jiascheduler 有三个执行文件,分别是 jiascheduler-console ,jiascheduler-comet ,jiascheduler-agent

  • jiascheduler-console 提供了 web 管理能力,前端页面被直接打包到了二进制文件中,方便用户直接部署控制台

  • jiascheduler-comet 用于连接分布在不同子网的 Agent 程序

  • jiascheduler-agent 部署在目标机器上用于执行用户脚本,agent 和 comet 保持长连接,用户下发的指令会通过控制台传递至 comet ,然后由 comet 将指令下发至 agent 执行

    Agent 和 Comet 采用 websocket 通信,周期发送心跳保活,jiascheduler 采用 redis 提供服务发现能力,Comet 上报自身 Agent ip 和 Comet 关联关系至 redis 。推送脚本时,先找到 Agent 连接的 Comet ,然后由 Comet 将指令通过 websocket 下发至 Agent 执行。
    用户脚本的执行状态及其日志先有 Agent 上报至 Comet ,然后有 Comet 上报消息队列( redis stream ),最后由 console 消费消息队列,实时更新脚本执行动态
    github: https://github.com/jiawesoft/jiascheduler
  • pota   
    好意提醒,别把号搞没了
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部