这个项目能做什么
AetherGrid是一个分布式AI工作负载编排器,根据资源需求和约束在计算节点间调度工作负载,管理从排队到调度、运行、完成、失败、重试和取消的完整作业生命周期。它围绕严格的领域驱动设计构建,具有无基础设施依赖的解耦领域核心、事件驱动的协调循环和基于租约的执行所有权。
项目的既定动机是解决大规模调度的难题:故障下的独占执行所有权、部分故障后的协调以及强制资源限制。领域层(Job、Node、Worker、Lease、Event、ApiKey聚合)包含调度算法和生命周期状态机,作为纯Python实现,不导入FastAPI或psycopg。应用服务协调领域对象和存储库,而基础设施为每个存储库提供PostgreSQL实现,使用原始psycopg而非ORM,并在本地开发中为某些存储库提供SQLite实现。表示层是FastAPI,前端是React和TypeScript。
描述的关键功能包括:API密钥认证保护每个路由(包括密钥签发端点,首个密钥仅通过本地脚本直接访问数据库生成)、显式作业状态转换(包括通过CANCELLING状态取消运行中的作业)、每个作业的生命周期历史页面、约束感知的最佳适配分配器、节点排空、工作器注册和心跳、独立的工作器代理进程通过HTTP轮询并以真实子进程执行作业、基于租约的执行所有权及持续续约、显式执行开始确认、具有两阶段关闭(SIGTERM后SIGKILL)的真实子进程执行、节点存活跟踪、带有限重试的协调、领域事件记录、集群范围实时事件流、工作器可见性以及多页面仪表板。
README强调工程决策记录:/docs/adr中记录了39个ADR,涵盖协调循环、作业回收和协调修复、真实作业执行、持续租约续约、API密钥认证、调度策略的领域所有权、独立工作器代理、通过租约续约取消、幂等工作器注册、回收取消中途放弃的作业、将集群心跳执行移出事件循环、持久化RUNNING转换,以及基于租约身份而非工作器身份的多个租约围栏修复。README指出在领域、应用、基础设施和API层共有347个测试,包括证明存储库实现行为一致的契约测试。
项目包含部署在Render上的实时演示,使用真实Postgres、真实认证和API密钥门控端点。它采用MIT许可证,使用Python 3.12、FastAPI、PostgreSQL、React/TypeScript和Docker Compose。
评论
0 评分人数达到10人后显示
登录后参与讨论。