Netflix Data Platform - Genie 3
本文介绍了 Netflix 的数据平台 Genie 3 的改进思路。这个平台目前日均运行任务数量大约是 150k,运行在 40 台 EC2 实例上。用例主要有两个:1)对开发隐藏 data warehouse 的细节,只暴露出提交任务和查看任务的接口;2)提供 repl 式的沙盒体验,开发可以自己新建出沙盒然后把数据用 stdout 导出。
- Execution Engine: 业务方提交的任务并不是真正运行的脚本,任务会被根据具体的环境,集群,命令,应用等配置编译成脚本去运行。
- Leader Election:用 ZooKeeper 或者手动设定一个节点是 leader。有些任务只在 leader 上运行。
- Security: 通过 Spring Security 加上登录验证,默认 UI 支持 SAML, API 支持 JWT。
- Dependency Cache: 缓存任务的第三方依赖。