Netflix公司技术堆栈
网上看到张Netflix(国内称为”奈飞”)的开发技术栈,和国内企业常规比较,感觉也差不多。
1、移动端和WEB端
- Netflix 使用适用于 iOS 的 Swift 和适用于 Android 平台的 Kotlin 构建本机移动应用程序。
- 对于 Web 应用程序,它依赖于流行的 React 框架。
2、前后端通信
- Netflix 使用 GraphQL 来优化前端和服务器之间的通信,增强灵活性和效率。
3、后端服务
后端服务由 ZUUL 和 Eureka 等工具组合提供支持,这些工具有助于路由和服务发现。
Spring Boot 框架广泛用于构建健壮的微服务。
4、数据库
- 数据库方面包括了用于缓存的 EV 缓存、用于可扩展和分布式数据存储的 Cassandra 以及用于全局一致性的 CockroachDB。
5、消息和数据流
- 也使用的常规Apache Kafka 和 Apache Flink,这两个在管理消息传递和实时数据流方面的作用不用质疑的。
6、视频存储
Netflix 利用 Amazon S3 存储其庞大的视频内容库,确保高可用性和持久性。
CDN方面使用了定制的 Open Connect,可增强向最终用户的视频交付。
7、大数据处理
- 使用了Apache Flink 和 Apache Spark,实现实时的计算和分析,然后使用Tableau 进行可视化。
8、CI/CD
- Netflix 针对 CI/CD 流程采用了一整套工具,包括用于问题跟踪的 JIRA、用于协作的 Confluence、用于事件响应的 PagerDuty、用于自动化的 Jenkins、用于构建的 Gradle、用于测试弹性的 Chaos Monkey、用于持续交付的 Spinnaker 以及用于持续交付的 Atlas 做监控和警报。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jona's Blog!