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

posted on   荣锋亮  阅读(96)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用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

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示