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 消费消息队列,实时更新脚本执行动态
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.