前言
Ray的实现里面包含了大量grpc,好处就是能够充分解耦这套非常复杂的任务调度管理系统,这是我开始看代码前没有想到的,因此希望写一篇文章再梳理一下这几个服务。不知道是后来演进出来的CS架构还是一开始berkley的老哥们就已经按这个来设计了。趁天刚开始亮,开整。
rpc服务概览
服务名 | 主要功能 | 位置 |
---|---|---|
GCSServer | 全局控制存储服务,管理集群状态、actor位置等 | ray/gcs |
NodeManager | 节点管理服务,负责本地资源管理、任务调度等 | ray/raylet |
CoreWorker | Worker进程的核心服务,处理任务执行、对象存储等 | ray/core/worker |
ObjectManager | 对象管理服务,处理对象传输、存储等 | ray/object_manager |
AutoScaler | 集群自动扩缩容系统 | ray/gcs |