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团队的文化模式

  • 单一目的
  • 无状态服务
  • 需求控制
  • 多区域
  • 基于功能共享

说明

以下的连接都是不错的相关文章,很值得学习下

参考资料

https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-1-ae3557c187e2 
https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-2-bbe71aaec44a 
https://medium.com/netflix-techblog/scaling-event-sourcing-for-netflix-downloads-episode-1-6bc1595c5595 
https://netflixtechblog.com/scaling-event-sourcing-for-netflix-downloads-episode-2-ce1b54d46eec 
https://relay.dev/ 
https://www.apollographql.com/docs/federation/federation-spec/ 
https://www.graphql-java.com/blog/deep-dive-data-fetcher-results/ 
https://www.graphql-java.com/documentation/v15/batching/ 
https://netflixtechblog.com/edgar-solving-mysteries-faster-with-observability-e1a76302c71f 
https://netflixtechblog.com/telltale-netflix-application-monitoring-simplified-5c08bfa780ba 
https://netflixtechblog.com/introducing-atlas-netflixs-primary-telemetry-platform-bd31f4d8ed9a 
https://github.com/Netflix/dgs 
https://github.com/Netflix/dgs-framework 
https://netflix.github.io/dgs/getting-started/

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

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-12-13 使用arthas 生成火焰图分析jvm
2019-12-13 openjdk11 stretch基础镜像无法找到对应openjdk dbg 包的问题
2019-12-13 async-profiler 容器使用常见问题
2019-12-13 使用jattach 在host 节点查看容器jvm信息
2018-12-13 使用loki+ mtail + grafana + prometheus server分析应用问题
2018-12-13 mtail 提取应用日志数据到时序数据库的工具-支持prometheus
2018-12-13 使用 loki grafana 分析nginx 请求日志

导航

< 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
点击右上角即可分享
微信分享提示