arroyo 组件简单说明
arroyo 架构上与k8s 的架构特别类似,包含了控制面板:api server 、controler、存储(k8s 是etcd,arroyo 是pg)、web ui (类似dashboard)数据面板: scheduler 以及worker(serverless 具体执行的地方),对于状态存储基于了s3
组件介绍
- web ui
单页面应用,通过grpc api 交互,支持管理以及创建pipeline - arroyo-api
提供grpc 服务,同时会进行配置的pg 存储,api 是武无状态的,其他通信只会使用db - arroyo-controller
持续循环处理系统状态(基于db),比较类似k8s,当前开源版本只支持一个controller,不支持ha,controller 管理job 的状态
同时也包含了checkpoint 的初始化,与worker 通信通过grpc - scheduler
arroyo 支持多种调度处理,可以通过环境变量处理(SCHEDULER)当前支持进程,node,nomad(比较推荐)以及k8s (暂时还没开放) - arroyo-worker
运行业务实际逻辑的地方,会将rust code 生成为sql 查询,同一个piepeline 通过tcp 连接,每个worker 配置了一些slots,可以控制多少子任务执行,每个slot 并行的运行dag - postgres
基于pg 的配置存储,以及系统的状态维护,同时controller 也会通过协调循环处理 - prometheus
主要是进行监控的 - s3
checkpoints 的存储方便恢复
arroyo 状态处理
了解arroyo的状态图比较有意义,可以方便学习内部处理机制
说明
arroyo 的架构,从功能上比较类似k8s,毕竟k8s的架构比较稳定,很值得借鉴参考
参考资料
https://doc.arroyo.dev/architecture
https://doc.arroyo.dev/architecture#state-machine
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-04-11 cube.js 配置自定义basePath 扩展cube.js 多租户处理
2021-04-11 cube.js 测试Query 的方法
2021-04-11 apache kylin 大数据olap 方案
2021-04-11 k6 如何进行api 测试(demo)
2021-04-11 k6 运行大规模测试
2020-04-11 几款不错的java规则引擎
2019-04-11 Announcing the Operate Preview Release: Monitoring and Managing Cross-Microservice Workflows