netflix graphql Federation 实践参考资料 (二)
netflix graphql Federation 参考技术栈以及系统可靠性保证方法
核心基础设施
- gateway
基于kotlin参考apollo 指南实现,主要是可以更好的利用java 系统,同时利用coroutines 特性
0 schema registry 是自己开发的,同时也使用了kotlin,利用了netflix 内部基于cassandra 开发的event
sourcing 模式的框架,支持方便的版本管理,同时利用了ci、cd,可以实现灵活的控制
开发学习&&经验
为了提高团队的使用netflix 基于graphql java 以及spring boot 开发了DGS framework 可以快速的 进行graphql 服务的开发以及进行schema 的发布(同时也会计划开源,好消息是github 已经可以看到了)
schema 治理
- schema 设计流程
同时netflix 团队拥抱schema 优先的模式,为了解耦实现了通用的graphql 到grpc 的调用
观测
netflix是推崇系统可靠稳定的,比较重视,报警,发现,分析
对于观测利用了zipkin,以及netflix 内部开发的好多系统
联邦安全
- 验证
所有的需要安全认证,同时对于ggraphql的自省,严格限制内部使用 - 授权
netflix 开发了方便的graphql 指令可以进行安全控制@Secured
面向失败的架构设计
这个属于netflix团队的文化模式
- 单一目的
- 无状态服务
- 需求控制
- 多区域
- 基于功能共享